#line 1 "../Core/Src/stm32g4xx_hal_timebase_tim.c"
 















 
 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"

















 

 







 
#line 1 "../Core/Inc/stm32g4xx_hal_conf.h"
 
















 
 

 







 
 

 


 



   
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
#line 76 "../Core/Inc/stm32g4xx_hal_conf.h"

 


 
#line 110 "../Core/Inc/stm32g4xx_hal_conf.h"

 




 












 










 







 


 





 












 





 

 


 

#line 189 "../Core/Inc/stm32g4xx_hal_conf.h"

 



 
 

 




 



 


 

#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"















 

 







 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"

















 

 







 
#line 1 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"


























 



 



 










 



 






 

#line 73 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"



 
#line 85 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"



 
#line 97 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"



 



 

#line 1 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"






















 



 



 










 



 








 



 




 
typedef enum
{
 
  NonMaskableInt_IRQn         = -14,     
  HardFault_IRQn              = -13,     
  MemoryManagement_IRQn       = -12,     
  BusFault_IRQn               = -11,     
  UsageFault_IRQn             = -10,     
  SVCall_IRQn                 = -5,      
  DebugMonitor_IRQn           = -4,      
  PendSV_IRQn                 = -2,      
  SysTick_IRQn                = -1,      
 
  WWDG_IRQn                   = 0,       
  PVD_PVM_IRQn                = 1,       
  RTC_TAMP_LSECSS_IRQn        = 2,       
  RTC_WKUP_IRQn               = 3,       
  FLASH_IRQn                  = 4,       
  RCC_IRQn                    = 5,       
  EXTI0_IRQn                  = 6,       
  EXTI1_IRQn                  = 7,       
  EXTI2_IRQn                  = 8,       
  EXTI3_IRQn                  = 9,       
  EXTI4_IRQn                  = 10,      
  DMA1_Channel1_IRQn          = 11,      
  DMA1_Channel2_IRQn          = 12,      
  DMA1_Channel3_IRQn          = 13,      
  DMA1_Channel4_IRQn          = 14,      
  DMA1_Channel5_IRQn          = 15,      
  DMA1_Channel6_IRQn          = 16,      
  DMA1_Channel7_IRQn          = 17,      
  ADC1_2_IRQn                 = 18,      
  USB_HP_IRQn                 = 19,      
  USB_LP_IRQn                 = 20,      
  FDCAN1_IT0_IRQn             = 21,      
  FDCAN1_IT1_IRQn             = 22,      
  EXTI9_5_IRQn                = 23,      
  TIM1_BRK_TIM15_IRQn         = 24,      
  TIM1_UP_TIM16_IRQn          = 25,      
  TIM1_TRG_COM_TIM17_IRQn     = 26,      
  TIM1_CC_IRQn                = 27,      
  TIM2_IRQn                   = 28,      
  TIM3_IRQn                   = 29,      
  TIM4_IRQn                   = 30,      
  I2C1_EV_IRQn                = 31,      
  I2C1_ER_IRQn                = 32,      
  I2C2_EV_IRQn                = 33,      
  I2C2_ER_IRQn                = 34,      
  SPI1_IRQn                   = 35,      
  SPI2_IRQn                   = 36,      
  USART1_IRQn                 = 37,      
  USART2_IRQn                 = 38,      
  USART3_IRQn                 = 39,      
  EXTI15_10_IRQn              = 40,      
  RTC_Alarm_IRQn              = 41,      
  USBWakeUp_IRQn              = 42,      
  TIM8_BRK_IRQn               = 43,      
  TIM8_UP_IRQn                = 44,      
  TIM8_TRG_COM_IRQn           = 45,      
  TIM8_CC_IRQn                = 46,      
  ADC3_IRQn                   = 47,      
  FMC_IRQn                    = 48,      
  LPTIM1_IRQn                 = 49,      
  TIM5_IRQn                   = 50,      
  SPI3_IRQn                   = 51,      
  UART4_IRQn                  = 52,      
  UART5_IRQn                  = 53,      
  TIM6_DAC_IRQn               = 54,      
  TIM7_DAC_IRQn               = 55,      
  DMA2_Channel1_IRQn          = 56,      
  DMA2_Channel2_IRQn          = 57,      
  DMA2_Channel3_IRQn          = 58,      
  DMA2_Channel4_IRQn          = 59,      
  DMA2_Channel5_IRQn          = 60,      
  ADC4_IRQn                   = 61,      
  ADC5_IRQn                   = 62,      
  UCPD1_IRQn                  = 63,      
  COMP1_2_3_IRQn              = 64,      
  COMP4_5_6_IRQn              = 65,      
  COMP7_IRQn                  = 66,      
  HRTIM1_Master_IRQn          = 67,      
  HRTIM1_TIMA_IRQn            = 68,      
  HRTIM1_TIMB_IRQn            = 69,      
  HRTIM1_TIMC_IRQn            = 70,      
  HRTIM1_TIMD_IRQn            = 71,      
  HRTIM1_TIME_IRQn            = 72,      
  HRTIM1_FLT_IRQn             = 73,      
  HRTIM1_TIMF_IRQn            = 74,      
  CRS_IRQn                    = 75,      
  SAI1_IRQn                   = 76,      
  TIM20_BRK_IRQn              = 77,      
  TIM20_UP_IRQn               = 78,      
  TIM20_TRG_COM_IRQn          = 79,      
  TIM20_CC_IRQn               = 80,      
  FPU_IRQn                    = 81,      
  I2C4_EV_IRQn                = 82,      
  I2C4_ER_IRQn                = 83,      
  SPI4_IRQn                   = 84,      
  FDCAN2_IT0_IRQn             = 86,      
  FDCAN2_IT1_IRQn             = 87,      
  FDCAN3_IT0_IRQn             = 88,      
  FDCAN3_IT1_IRQn             = 89,      
  RNG_IRQn                    = 90,      
  LPUART1_IRQn                = 91,      
  I2C3_EV_IRQn                = 92,      
  I2C3_ER_IRQn                = 93,      
  DMAMUX_OVR_IRQn             = 94,      
  QUADSPI_IRQn                = 95,      
  DMA1_Channel8_IRQn          = 96,      
  DMA2_Channel6_IRQn          = 97,      
  DMA2_Channel7_IRQn          = 98,      
  DMA2_Channel8_IRQn          = 99,      
  CORDIC_IRQn                 = 100,     
  FMAC_IRQn                   = 101      
} IRQn_Type;



 

#line 1 "../Drivers/CMSIS/Include/core_cm4.h"
 




 
















 










#line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"
 
 





 









     
#line 27 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"
     











#line 46 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"





 

     

     
typedef   signed          char int8_t;
typedef   signed short     int int16_t;
typedef   signed           int int32_t;
typedef   signed       __int64 int64_t;

     
typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;
typedef unsigned       __int64 uint64_t;

     

     
     
typedef   signed          char int_least8_t;
typedef   signed short     int int_least16_t;
typedef   signed           int int_least32_t;
typedef   signed       __int64 int_least64_t;

     
typedef unsigned          char uint_least8_t;
typedef unsigned short     int uint_least16_t;
typedef unsigned           int uint_least32_t;
typedef unsigned       __int64 uint_least64_t;

     

     
typedef   signed           int int_fast8_t;
typedef   signed           int int_fast16_t;
typedef   signed           int int_fast32_t;
typedef   signed       __int64 int_fast64_t;

     
typedef unsigned           int uint_fast8_t;
typedef unsigned           int uint_fast16_t;
typedef unsigned           int uint_fast32_t;
typedef unsigned       __int64 uint_fast64_t;

     




typedef   signed           int intptr_t;
typedef unsigned           int uintptr_t;


     
typedef   signed     long long intmax_t;
typedef unsigned     long long uintmax_t;




     

     





     





     





     

     





     





     





     

     





     





     





     

     






     






     






     

     


     


     


     

     
#line 216 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"

     



     






     
    
 



#line 241 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"

     







     










     











#line 305 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h"






 
#line 35 "../Drivers/CMSIS/Include/core_cm4.h"

















 




 



 

#line 1 "../Drivers/CMSIS/Include/cmsis_version.h"
 




 
















 










 
#line 64 "../Drivers/CMSIS/Include/core_cm4.h"

 









 
#line 87 "../Drivers/CMSIS/Include/core_cm4.h"

#line 161 "../Drivers/CMSIS/Include/core_cm4.h"

#line 1 "../Drivers/CMSIS/Include/cmsis_compiler.h"
 




 
















 




#line 29 "../Drivers/CMSIS/Include/cmsis_compiler.h"



 
#line 1 "../Drivers/CMSIS/Include/cmsis_armcc.h"
 




 
















 









 













   
   

 




 
#line 110 "../Drivers/CMSIS/Include/cmsis_armcc.h"

 





















 



 





 
 






 
 





 
static __inline uint32_t __get_CONTROL(void)
{
  register uint32_t __regControl         __asm("control");
  return(__regControl);
}






 
static __inline void __set_CONTROL(uint32_t control)
{
  register uint32_t __regControl         __asm("control");
  __regControl = control;
}






 
static __inline uint32_t __get_IPSR(void)
{
  register uint32_t __regIPSR          __asm("ipsr");
  return(__regIPSR);
}






 
static __inline uint32_t __get_APSR(void)
{
  register uint32_t __regAPSR          __asm("apsr");
  return(__regAPSR);
}






 
static __inline uint32_t __get_xPSR(void)
{
  register uint32_t __regXPSR          __asm("xpsr");
  return(__regXPSR);
}






 
static __inline uint32_t __get_PSP(void)
{
  register uint32_t __regProcessStackPointer  __asm("psp");
  return(__regProcessStackPointer);
}






 
static __inline void __set_PSP(uint32_t topOfProcStack)
{
  register uint32_t __regProcessStackPointer  __asm("psp");
  __regProcessStackPointer = topOfProcStack;
}






 
static __inline uint32_t __get_MSP(void)
{
  register uint32_t __regMainStackPointer     __asm("msp");
  return(__regMainStackPointer);
}






 
static __inline void __set_MSP(uint32_t topOfMainStack)
{
  register uint32_t __regMainStackPointer     __asm("msp");
  __regMainStackPointer = topOfMainStack;
}






 
static __inline uint32_t __get_PRIMASK(void)
{
  register uint32_t __regPriMask         __asm("primask");
  return(__regPriMask);
}






 
static __inline void __set_PRIMASK(uint32_t priMask)
{
  register uint32_t __regPriMask         __asm("primask");
  __regPriMask = (priMask);
}









 







 







 
static __inline uint32_t  __get_BASEPRI(void)
{
  register uint32_t __regBasePri         __asm("basepri");
  return(__regBasePri);
}






 
static __inline void __set_BASEPRI(uint32_t basePri)
{
  register uint32_t __regBasePri         __asm("basepri");
  __regBasePri = (basePri & 0xFFU);
}







 
static __inline void __set_BASEPRI_MAX(uint32_t basePri)
{
  register uint32_t __regBasePriMax      __asm("basepri_max");
  __regBasePriMax = (basePri & 0xFFU);
}






 
static __inline uint32_t __get_FAULTMASK(void)
{
  register uint32_t __regFaultMask       __asm("faultmask");
  return(__regFaultMask);
}






 
static __inline void __set_FAULTMASK(uint32_t faultMask)
{
  register uint32_t __regFaultMask       __asm("faultmask");
  __regFaultMask = (faultMask & (uint32_t)1U);
}









 
static __inline uint32_t __get_FPSCR(void)
{


  register uint32_t __regfpscr         __asm("fpscr");
  return(__regfpscr);



}






 
static __inline void __set_FPSCR(uint32_t fpscr)
{


  register uint32_t __regfpscr         __asm("fpscr");
  __regfpscr = (fpscr);



}


 


 



 




 






 







 






 








 










 










 






                  





 








 

__attribute__((section(".rev16_text"))) static __inline __asm uint32_t __REV16(uint32_t value)
{
  rev16 r0, r0
  bx lr
}








 

__attribute__((section(".revsh_text"))) static __inline __asm int16_t __REVSH(int16_t value)
{
  revsh r0, r0
  bx lr
}









 









 








 
#line 561 "../Drivers/CMSIS/Include/cmsis_armcc.h"







 











 












 












 














 














 














 










 









 









 









 

__attribute__((section(".rrx_text"))) static __inline __asm uint32_t __RRX(uint32_t value)
{
  rrx r0, r0
  bx lr
}








 








 








 








 








 








 


#line 809 "../Drivers/CMSIS/Include/cmsis_armcc.h"

   


 



 



#line 880 "../Drivers/CMSIS/Include/cmsis_armcc.h"











 


#line 35 "../Drivers/CMSIS/Include/cmsis_compiler.h"




 
#line 280 "../Drivers/CMSIS/Include/cmsis_compiler.h"




#line 163 "../Drivers/CMSIS/Include/core_cm4.h"

















 
#line 207 "../Drivers/CMSIS/Include/core_cm4.h"

 






 
#line 223 "../Drivers/CMSIS/Include/core_cm4.h"

 




 













 



 






 



 
typedef union
{
  struct
  {
    uint32_t _reserved0:16;               
    uint32_t GE:4;                        
    uint32_t _reserved1:7;                
    uint32_t Q:1;                         
    uint32_t V:1;                         
    uint32_t C:1;                         
    uint32_t Z:1;                         
    uint32_t N:1;                         
  } b;                                    
  uint32_t w;                             
} APSR_Type;

 





















 
typedef union
{
  struct
  {
    uint32_t ISR:9;                       
    uint32_t _reserved0:23;               
  } b;                                    
  uint32_t w;                             
} IPSR_Type;

 






 
typedef union
{
  struct
  {
    uint32_t ISR:9;                       
    uint32_t _reserved0:1;                
    uint32_t ICI_IT_1:6;                  
    uint32_t GE:4;                        
    uint32_t _reserved1:4;                
    uint32_t T:1;                         
    uint32_t ICI_IT_2:2;                  
    uint32_t Q:1;                         
    uint32_t V:1;                         
    uint32_t C:1;                         
    uint32_t Z:1;                         
    uint32_t N:1;                         
  } b;                                    
  uint32_t w;                             
} xPSR_Type;

 

































 
typedef union
{
  struct
  {
    uint32_t nPRIV:1;                     
    uint32_t SPSEL:1;                     
    uint32_t FPCA:1;                      
    uint32_t _reserved0:29;               
  } b;                                    
  uint32_t w;                             
} CONTROL_Type;

 









 







 



 
typedef struct
{
  volatile uint32_t ISER[8U];                
        uint32_t RESERVED0[24U];
  volatile uint32_t ICER[8U];                
        uint32_t RESERVED1[24U];
  volatile uint32_t ISPR[8U];                
        uint32_t RESERVED2[24U];
  volatile uint32_t ICPR[8U];                
        uint32_t RESERVED3[24U];
  volatile uint32_t IABR[8U];                
        uint32_t RESERVED4[56U];
  volatile uint8_t  IP[240U];                
        uint32_t RESERVED5[644U];
  volatile  uint32_t STIR;                    
}  NVIC_Type;

 



 







 



 
typedef struct
{
  volatile const  uint32_t CPUID;                   
  volatile uint32_t ICSR;                    
  volatile uint32_t VTOR;                    
  volatile uint32_t AIRCR;                   
  volatile uint32_t SCR;                     
  volatile uint32_t CCR;                     
  volatile uint8_t  SHP[12U];                
  volatile uint32_t SHCSR;                   
  volatile uint32_t CFSR;                    
  volatile uint32_t HFSR;                    
  volatile uint32_t DFSR;                    
  volatile uint32_t MMFAR;                   
  volatile uint32_t BFAR;                    
  volatile uint32_t AFSR;                    
  volatile const  uint32_t PFR[2U];                 
  volatile const  uint32_t DFR;                     
  volatile const  uint32_t ADR;                     
  volatile const  uint32_t MMFR[4U];                
  volatile const  uint32_t ISAR[5U];                
        uint32_t RESERVED0[5U];
  volatile uint32_t CPACR;                   
} SCB_Type;

 















 






























 



 





















 









 


















 










































 









 


















 





















 


















 









 















 







 



 
typedef struct
{
        uint32_t RESERVED0[1U];
  volatile const  uint32_t ICTR;                    
  volatile uint32_t ACTLR;                   
} SCnSCB_Type;

 



 















 







 



 
typedef struct
{
  volatile uint32_t CTRL;                    
  volatile uint32_t LOAD;                    
  volatile uint32_t VAL;                     
  volatile const  uint32_t CALIB;                   
} SysTick_Type;

 












 



 



 









 







 



 
typedef struct
{
  volatile  union
  {
    volatile  uint8_t    u8;                  
    volatile  uint16_t   u16;                 
    volatile  uint32_t   u32;                 
  }  PORT [32U];                          
        uint32_t RESERVED0[864U];
  volatile uint32_t TER;                     
        uint32_t RESERVED1[15U];
  volatile uint32_t TPR;                     
        uint32_t RESERVED2[15U];
  volatile uint32_t TCR;                     
        uint32_t RESERVED3[32U];
        uint32_t RESERVED4[43U];
  volatile  uint32_t LAR;                     
  volatile const  uint32_t LSR;                     
        uint32_t RESERVED5[6U];
  volatile const  uint32_t PID4;                    
  volatile const  uint32_t PID5;                    
  volatile const  uint32_t PID6;                    
  volatile const  uint32_t PID7;                    
  volatile const  uint32_t PID0;                    
  volatile const  uint32_t PID1;                    
  volatile const  uint32_t PID2;                    
  volatile const  uint32_t PID3;                    
  volatile const  uint32_t CID0;                    
  volatile const  uint32_t CID1;                    
  volatile const  uint32_t CID2;                    
  volatile const  uint32_t CID3;                    
} ITM_Type;

 



 



























 









   







 



 
typedef struct
{
  volatile uint32_t CTRL;                    
  volatile uint32_t CYCCNT;                  
  volatile uint32_t CPICNT;                  
  volatile uint32_t EXCCNT;                  
  volatile uint32_t SLEEPCNT;                
  volatile uint32_t LSUCNT;                  
  volatile uint32_t FOLDCNT;                 
  volatile const  uint32_t PCSR;                    
  volatile uint32_t COMP0;                   
  volatile uint32_t MASK0;                   
  volatile uint32_t FUNCTION0;               
        uint32_t RESERVED0[1U];
  volatile uint32_t COMP1;                   
  volatile uint32_t MASK1;                   
  volatile uint32_t FUNCTION1;               
        uint32_t RESERVED1[1U];
  volatile uint32_t COMP2;                   
  volatile uint32_t MASK2;                   
  volatile uint32_t FUNCTION2;               
        uint32_t RESERVED2[1U];
  volatile uint32_t COMP3;                   
  volatile uint32_t MASK3;                   
  volatile uint32_t FUNCTION3;               
} DWT_Type;

 






















































 



 



 



 



 



 



 



























   







 



 
typedef struct
{
  volatile const  uint32_t SSPSR;                   
  volatile uint32_t CSPSR;                   
        uint32_t RESERVED0[2U];
  volatile uint32_t ACPR;                    
        uint32_t RESERVED1[55U];
  volatile uint32_t SPPR;                    
        uint32_t RESERVED2[131U];
  volatile const  uint32_t FFSR;                    
  volatile uint32_t FFCR;                    
  volatile const  uint32_t FSCR;                    
        uint32_t RESERVED3[759U];
  volatile const  uint32_t TRIGGER;                 
  volatile const  uint32_t FIFO0;                   
  volatile const  uint32_t ITATBCTR2;               
        uint32_t RESERVED4[1U];
  volatile const  uint32_t ITATBCTR0;               
  volatile const  uint32_t FIFO1;                   
  volatile uint32_t ITCTRL;                  
        uint32_t RESERVED5[39U];
  volatile uint32_t CLAIMSET;                
  volatile uint32_t CLAIMCLR;                
        uint32_t RESERVED7[8U];
  volatile const  uint32_t DEVID;                   
  volatile const  uint32_t DEVTYPE;                 
} TPI_Type;

 



 



 












 






 



 





















 






 





















 






 



 


















 






   








 



 
typedef struct
{
  volatile const  uint32_t TYPE;                    
  volatile uint32_t CTRL;                    
  volatile uint32_t RNR;                     
  volatile uint32_t RBAR;                    
  volatile uint32_t RASR;                    
  volatile uint32_t RBAR_A1;                 
  volatile uint32_t RASR_A1;                 
  volatile uint32_t RBAR_A2;                 
  volatile uint32_t RASR_A2;                 
  volatile uint32_t RBAR_A3;                 
  volatile uint32_t RASR_A3;                 
} MPU_Type;



 









 









 



 









 






























 








 



 
typedef struct
{
        uint32_t RESERVED0[1U];
  volatile uint32_t FPCCR;                   
  volatile uint32_t FPCAR;                   
  volatile uint32_t FPDSCR;                  
  volatile const  uint32_t MVFR0;                   
  volatile const  uint32_t MVFR1;                   
  volatile const  uint32_t MVFR2;                   
} FPU_Type;

 



























 



 












 
























 












 




 







 



 
typedef struct
{
  volatile uint32_t DHCSR;                   
  volatile  uint32_t DCRSR;                   
  volatile uint32_t DCRDR;                   
  volatile uint32_t DEMCR;                   
} CoreDebug_Type;

 




































 






 







































 







 






 







 


 







 

 
#line 1553 "../Drivers/CMSIS/Include/core_cm4.h"

#line 1562 "../Drivers/CMSIS/Include/core_cm4.h"









 










 


 



 





 

#line 1616 "../Drivers/CMSIS/Include/core_cm4.h"

#line 1626 "../Drivers/CMSIS/Include/core_cm4.h"




 
#line 1637 "../Drivers/CMSIS/Include/core_cm4.h"










 
static __inline void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
{
  uint32_t reg_value;
  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);              

  reg_value  =  ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->AIRCR;                                                    
  reg_value &= ~((uint32_t)((0xFFFFUL << 16U) | (7UL << 8U)));  
  reg_value  =  (reg_value                                   |
                ((uint32_t)0x5FAUL << 16U) |
                (PriorityGroupTmp << 8U)  );               
  ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->AIRCR =  reg_value;
}






 
static __inline uint32_t __NVIC_GetPriorityGrouping(void)
{
  return ((uint32_t)((((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->AIRCR & (7UL << 8U)) >> 8U));
}







 
static __inline void __NVIC_EnableIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    __memory_changed();
    ((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
    __memory_changed();
  }
}









 
static __inline uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    return((uint32_t)(((((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
  }
  else
  {
    return(0U);
  }
}







 
static __inline void __NVIC_DisableIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    ((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
    do { __schedule_barrier(); __dsb(0xF); __schedule_barrier(); } while (0U);
    do { __schedule_barrier(); __isb(0xF); __schedule_barrier(); } while (0U);
  }
}









 
static __inline uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    return((uint32_t)(((((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
  }
  else
  {
    return(0U);
  }
}







 
static __inline void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    ((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
  }
}







 
static __inline void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    ((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
  }
}









 
static __inline uint32_t __NVIC_GetActive(IRQn_Type IRQn)
{
  if ((int32_t)(IRQn) >= 0)
  {
    return((uint32_t)(((((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
  }
  else
  {
    return(0U);
  }
}










 
static __inline void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
{
  if ((int32_t)(IRQn) >= 0)
  {
    ((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->IP[((uint32_t)IRQn)]               = (uint8_t)((priority << (8U - 4U)) & (uint32_t)0xFFUL);
  }
  else
  {
    ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - 4U)) & (uint32_t)0xFFUL);
  }
}










 
static __inline uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
{

  if ((int32_t)(IRQn) >= 0)
  {
    return(((uint32_t)((NVIC_Type *) ((0xE000E000UL) + 0x0100UL) )->IP[((uint32_t)IRQn)]               >> (8U - 4U)));
  }
  else
  {
    return(((uint32_t)((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - 4U)));
  }
}












 
static __inline uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
{
  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);    
  uint32_t PreemptPriorityBits;
  uint32_t SubPriorityBits;

  PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(4U)) ? (uint32_t)(4U) : (uint32_t)(7UL - PriorityGroupTmp);
  SubPriorityBits     = ((PriorityGroupTmp + (uint32_t)(4U)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(4U));

  return (
           ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
           ((SubPriority     & (uint32_t)((1UL << (SubPriorityBits    )) - 1UL)))
         );
}












 
static __inline void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority)
{
  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);    
  uint32_t PreemptPriorityBits;
  uint32_t SubPriorityBits;

  PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(4U)) ? (uint32_t)(4U) : (uint32_t)(7UL - PriorityGroupTmp);
  SubPriorityBits     = ((PriorityGroupTmp + (uint32_t)(4U)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(4U));

  *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
  *pSubPriority     = (Priority                   ) & (uint32_t)((1UL << (SubPriorityBits    )) - 1UL);
}










 
static __inline void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
{
  uint32_t vectors = (uint32_t )((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->VTOR;
  (* (int *) (vectors + ((int32_t)IRQn + 16) * 4)) = vector;
   
}









 
static __inline uint32_t __NVIC_GetVector(IRQn_Type IRQn)
{
  uint32_t vectors = (uint32_t )((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->VTOR;
  return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + 16) * 4));
}





 
__declspec(noreturn) static __inline void __NVIC_SystemReset(void)
{
  do { __schedule_barrier(); __dsb(0xF); __schedule_barrier(); } while (0U);                                                          
 
  ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->AIRCR  = (uint32_t)((0x5FAUL << 16U)    |
                           (((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->AIRCR & (7UL << 8U)) |
                            (1UL << 2U)    );          
  do { __schedule_barrier(); __dsb(0xF); __schedule_barrier(); } while (0U);                                                           

  for(;;)                                                            
  {
    __nop();
  }
}

 


 



#line 1 "../Drivers/CMSIS/Include/mpu_armv7.h"





 
















 
 





 



#line 62 "../Drivers/CMSIS/Include/mpu_armv7.h"

#line 69 "../Drivers/CMSIS/Include/mpu_armv7.h"





 












   














 
#line 110 "../Drivers/CMSIS/Include/mpu_armv7.h"












                          









  










  












  




 




 




 




 





 
typedef struct {
  uint32_t RBAR; 
  uint32_t RASR; 
} ARM_MPU_Region_t;
    


 
static __inline void ARM_MPU_Enable(uint32_t MPU_Control)
{
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->CTRL = MPU_Control | (1UL );

  ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->SHCSR |= (1UL << 16U);

  do { __schedule_barrier(); __dsb(0xF); __schedule_barrier(); } while (0U);
  do { __schedule_barrier(); __isb(0xF); __schedule_barrier(); } while (0U);
}


 
static __inline void ARM_MPU_Disable(void)
{
  do { __schedule_barrier(); __dmb(0xF); __schedule_barrier(); } while (0U);

  ((SCB_Type *) ((0xE000E000UL) + 0x0D00UL) )->SHCSR &= ~(1UL << 16U);

  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->CTRL  &= ~(1UL );
}



 
static __inline void ARM_MPU_ClrRegion(uint32_t rnr)
{
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RNR = rnr;
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RASR = 0U;
}




    
static __inline void ARM_MPU_SetRegion(uint32_t rbar, uint32_t rasr)
{
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RBAR = rbar;
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RASR = rasr;
}





    
static __inline void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, uint32_t rasr)
{
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RNR = rnr;
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RBAR = rbar;
  ((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RASR = rasr;
}





 
static __inline void ARM_MPU_OrderedMemcpy(volatile uint32_t* dst, const uint32_t* __restrict src, uint32_t len)
{
  uint32_t i;
  for (i = 0U; i < len; ++i) 
  {
    dst[i] = src[i];
  }
}




 
static __inline void ARM_MPU_Load(ARM_MPU_Region_t const* table, uint32_t cnt) 
{
  const uint32_t rowWordSize = sizeof(ARM_MPU_Region_t)/4U;
  while (cnt > 4U) {
    ARM_MPU_OrderedMemcpy(&(((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RBAR), &(table->RBAR), 4U*rowWordSize);
    table += 4U;
    cnt -= 4U;
  }
  ARM_MPU_OrderedMemcpy(&(((MPU_Type *) ((0xE000E000UL) + 0x0D90UL) )->RBAR), &(table->RBAR), cnt*rowWordSize);
}

#line 1956 "../Drivers/CMSIS/Include/core_cm4.h"




 





 








 
static __inline uint32_t SCB_GetFPUType(void)
{
  uint32_t mvfr0;

  mvfr0 = ((FPU_Type *) ((0xE000E000UL) + 0x0F30UL) )->MVFR0;
  if      ((mvfr0 & ((0xFUL << 4U) | (0xFUL << 8U))) == 0x020U)
  {
    return 1U;            
  }
  else
  {
    return 0U;            
  }
}


 



 





 













 
static __inline uint32_t SysTick_Config(uint32_t ticks)
{
  if ((ticks - 1UL) > (0xFFFFFFUL ))
  {
    return (1UL);                                                    
  }

  ((SysTick_Type *) ((0xE000E000UL) + 0x0010UL) )->LOAD  = (uint32_t)(ticks - 1UL);                          
  __NVIC_SetPriority (SysTick_IRQn, (1UL << 4U) - 1UL);  
  ((SysTick_Type *) ((0xE000E000UL) + 0x0010UL) )->VAL   = 0UL;                                              
  ((SysTick_Type *) ((0xE000E000UL) + 0x0010UL) )->CTRL  = (1UL << 2U) |
                   (1UL << 1U)   |
                   (1UL );                          
  return (0UL);                                                      
}



 



 





 

extern volatile int32_t ITM_RxBuffer;                               










 
static __inline uint32_t ITM_SendChar (uint32_t ch)
{
  if (((((ITM_Type *) (0xE0000000UL) )->TCR & (1UL )) != 0UL) &&       
      ((((ITM_Type *) (0xE0000000UL) )->TER & 1UL               ) != 0UL)   )      
  {
    while (((ITM_Type *) (0xE0000000UL) )->PORT[0U].u32 == 0UL)
    {
      __nop();
    }
    ((ITM_Type *) (0xE0000000UL) )->PORT[0U].u8 = (uint8_t)ch;
  }
  return (ch);
}







 
static __inline int32_t ITM_ReceiveChar (void)
{
  int32_t ch = -1;                            

  if (ITM_RxBuffer != ((int32_t)0x5AA55AA5U))
  {
    ch = ITM_RxBuffer;
    ITM_RxBuffer = ((int32_t)0x5AA55AA5U);        
  }

  return (ch);
}







 
static __inline int32_t ITM_CheckChar (void)
{

  if (ITM_RxBuffer == ((int32_t)0x5AA55AA5U))
  {
    return (0);                               
  }
  else
  {
    return (1);                               
  }
}

 










#line 186 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
#line 1 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
















 



 



 



 









 



 




 
  






 
extern uint32_t SystemCoreClock;             

extern const uint8_t  AHBPrescTable[16];     
extern const uint8_t  APBPrescTable[8];      



 



 



 



 



 



 

extern void SystemInit(void);
extern void SystemCoreClockUpdate(void);


 









 



 
#line 187 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
#line 188 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 



 

typedef struct
{
  volatile uint32_t ISR;           
  volatile uint32_t IER;           
  volatile uint32_t CR;            
  volatile uint32_t CFGR;          
  volatile uint32_t CFGR2;         
  volatile uint32_t SMPR1;         
  volatile uint32_t SMPR2;         
       uint32_t RESERVED1;     
  volatile uint32_t TR1;           
  volatile uint32_t TR2;           
  volatile uint32_t TR3;           
       uint32_t RESERVED2;     
  volatile uint32_t SQR1;          
  volatile uint32_t SQR2;          
  volatile uint32_t SQR3;          
  volatile uint32_t SQR4;          
  volatile uint32_t DR;            
       uint32_t RESERVED3;     
       uint32_t RESERVED4;     
  volatile uint32_t JSQR;          
       uint32_t RESERVED5[4];  
  volatile uint32_t OFR1;          
  volatile uint32_t OFR2;          
  volatile uint32_t OFR3;          
  volatile uint32_t OFR4;          
       uint32_t RESERVED6[4];  
  volatile uint32_t JDR1;          
  volatile uint32_t JDR2;          
  volatile uint32_t JDR3;          
  volatile uint32_t JDR4;          
       uint32_t RESERVED7[4];  
  volatile uint32_t AWD2CR;        
  volatile uint32_t AWD3CR;        
       uint32_t RESERVED8;     
       uint32_t RESERVED9;     
  volatile uint32_t DIFSEL;        
  volatile uint32_t CALFACT;       
       uint32_t RESERVED10[2]; 
  volatile uint32_t GCOMP;         
} ADC_TypeDef;

typedef struct
{
  volatile uint32_t CSR;           
  uint32_t      RESERVED1;     
  volatile uint32_t CCR;           
  volatile uint32_t CDR;           
} ADC_Common_TypeDef;



 

typedef struct
{
  volatile uint32_t CREL;          
  volatile uint32_t ENDN;          
       uint32_t RESERVED1;     
  volatile uint32_t DBTP;          
  volatile uint32_t TEST;          
  volatile uint32_t RWD;           
  volatile uint32_t CCCR;          
  volatile uint32_t NBTP;          
  volatile uint32_t TSCC;          
  volatile uint32_t TSCV;          
  volatile uint32_t TOCC;          
  volatile uint32_t TOCV;          
       uint32_t RESERVED2[4];  
  volatile uint32_t ECR;           
  volatile uint32_t PSR;           
  volatile uint32_t TDCR;          
       uint32_t RESERVED3;     
  volatile uint32_t IR;            
  volatile uint32_t IE;            
  volatile uint32_t ILS;           
  volatile uint32_t ILE;           
       uint32_t RESERVED4[8];  
  volatile uint32_t RXGFC;         
  volatile uint32_t XIDAM;         
  volatile uint32_t HPMS;          
       uint32_t RESERVED5;     
  volatile uint32_t RXF0S;         
  volatile uint32_t RXF0A;         
  volatile uint32_t RXF1S;         
  volatile uint32_t RXF1A;         
       uint32_t RESERVED6[8];  
  volatile uint32_t TXBC;          
  volatile uint32_t TXFQS;         
  volatile uint32_t TXBRP;         
  volatile uint32_t TXBAR;         
  volatile uint32_t TXBCR;         
  volatile uint32_t TXBTO;         
  volatile uint32_t TXBCF;         
  volatile uint32_t TXBTIE;        
  volatile uint32_t TXBCIE;        
  volatile uint32_t TXEFS;         
  volatile uint32_t TXEFA;         
} FDCAN_GlobalTypeDef;



 

typedef struct
{
  volatile uint32_t CKDIV;         
} FDCAN_Config_TypeDef;



 

typedef struct
{
  volatile uint32_t CSR;          
} COMP_TypeDef;



 

typedef struct
{
  volatile uint32_t DR;           
  volatile uint32_t IDR;          
  volatile uint32_t CR;           
  uint32_t      RESERVED0;    
  volatile uint32_t INIT;         
  volatile uint32_t POL;          
} CRC_TypeDef;



 
typedef struct
{
  volatile uint32_t CR;           
  volatile uint32_t CFGR;         
  volatile uint32_t ISR;          
  volatile uint32_t ICR;          
} CRS_TypeDef;



 

typedef struct
{
  volatile uint32_t CR;           
  volatile uint32_t SWTRIGR;      
  volatile uint32_t DHR12R1;      
  volatile uint32_t DHR12L1;      
  volatile uint32_t DHR8R1;       
  volatile uint32_t DHR12R2;      
  volatile uint32_t DHR12L2;      
  volatile uint32_t DHR8R2;       
  volatile uint32_t DHR12RD;      
  volatile uint32_t DHR12LD;      
  volatile uint32_t DHR8RD;       
  volatile uint32_t DOR1;         
  volatile uint32_t DOR2;         
  volatile uint32_t SR;           
  volatile uint32_t CCR;          
  volatile uint32_t MCR;          
  volatile uint32_t SHSR1;        
  volatile uint32_t SHSR2;        
  volatile uint32_t SHHR;         
  volatile uint32_t SHRR;         
  volatile uint32_t RESERVED[2];
  volatile uint32_t STR1;         
  volatile uint32_t STR2;         
  volatile uint32_t STMODR;       
} DAC_TypeDef;



 

typedef struct
{
  volatile uint32_t IDCODE;       
  volatile uint32_t CR;           
  volatile uint32_t APB1FZR1;     
  volatile uint32_t APB1FZR2;     
  volatile uint32_t APB2FZ;       
} DBGMCU_TypeDef;



 

typedef struct
{
  volatile uint32_t CCR;          
  volatile uint32_t CNDTR;        
  volatile uint32_t CPAR;         
  volatile uint32_t CMAR;         
} DMA_Channel_TypeDef;

typedef struct
{
  volatile uint32_t ISR;          
  volatile uint32_t IFCR;         
} DMA_TypeDef;



 

typedef struct
{
  volatile uint32_t   CCR;        
}DMAMUX_Channel_TypeDef;

typedef struct
{
  volatile uint32_t   CSR;       
  volatile uint32_t   CFR;       
}DMAMUX_ChannelStatus_TypeDef;

typedef struct
{
  volatile uint32_t   RGCR;         
}DMAMUX_RequestGen_TypeDef;

typedef struct
{
  volatile uint32_t   RGSR;         
  volatile uint32_t   RGCFR;         
}DMAMUX_RequestGenStatus_TypeDef;



 

typedef struct
{
  volatile uint32_t IMR1;         
  volatile uint32_t EMR1;         
  volatile uint32_t RTSR1;        
  volatile uint32_t FTSR1;        
  volatile uint32_t SWIER1;       
  volatile uint32_t PR1;          
  uint32_t      RESERVED1;    
  uint32_t      RESERVED2;    
  volatile uint32_t IMR2;         
  volatile uint32_t EMR2;         
  volatile uint32_t RTSR2;        
  volatile uint32_t FTSR2;        
  volatile uint32_t SWIER2;       
  volatile uint32_t PR2;          
} EXTI_TypeDef;



 

typedef struct
{
  volatile uint32_t ACR;               
  volatile uint32_t PDKEYR;            
  volatile uint32_t KEYR;              
  volatile uint32_t OPTKEYR;           
  volatile uint32_t SR;                
  volatile uint32_t CR;                
  volatile uint32_t ECCR;              
       uint32_t RESERVED1;         
  volatile uint32_t OPTR;              
  volatile uint32_t PCROP1SR;          
  volatile uint32_t PCROP1ER;          
  volatile uint32_t WRP1AR;            
  volatile uint32_t WRP1BR;            
       uint32_t RESERVED2[4];      
  volatile uint32_t PCROP2SR;          
  volatile uint32_t PCROP2ER;          
  volatile uint32_t WRP2AR;            
  volatile uint32_t WRP2BR;            
       uint32_t RESERVED3[7];      
  volatile uint32_t SEC1R;             
  volatile uint32_t SEC2R;             
} FLASH_TypeDef;



 
typedef struct
{
  volatile uint32_t X1BUFCFG;         
  volatile uint32_t X2BUFCFG;         
  volatile uint32_t YBUFCFG;          
  volatile uint32_t PARAM;            
  volatile uint32_t CR;               
  volatile uint32_t SR;               
  volatile uint32_t WDATA;            
  volatile uint32_t RDATA;            
} FMAC_TypeDef;



 

typedef struct
{
  volatile uint32_t BTCR[8];      
  volatile uint32_t PCSCNTR;      
} FMC_Bank1_TypeDef;



 

typedef struct
{
  volatile uint32_t BWTR[7];      
} FMC_Bank1E_TypeDef;



 

typedef struct
{
  volatile uint32_t PCR;         
  volatile uint32_t SR;          
  volatile uint32_t PMEM;        
  volatile uint32_t PATT;        
  uint32_t      RESERVED0;   
  volatile uint32_t ECCR;        
} FMC_Bank3_TypeDef;



 

typedef struct
{
  volatile uint32_t MODER;        
  volatile uint32_t OTYPER;       
  volatile uint32_t OSPEEDR;      
  volatile uint32_t PUPDR;        
  volatile uint32_t IDR;          
  volatile uint32_t ODR;          
  volatile uint32_t BSRR;         
  volatile uint32_t LCKR;         
  volatile uint32_t AFR[2];       
  volatile uint32_t BRR;          
} GPIO_TypeDef;



 

typedef struct
{
  volatile uint32_t CR1;          
  volatile uint32_t CR2;          
  volatile uint32_t OAR1;         
  volatile uint32_t OAR2;         
  volatile uint32_t TIMINGR;      
  volatile uint32_t TIMEOUTR;     
  volatile uint32_t ISR;          
  volatile uint32_t ICR;          
  volatile uint32_t PECR;         
  volatile uint32_t RXDR;         
  volatile uint32_t TXDR;         
} I2C_TypeDef;



 

typedef struct
{
  volatile uint32_t KR;           
  volatile uint32_t PR;           
  volatile uint32_t RLR;          
  volatile uint32_t SR;           
  volatile uint32_t WINR;         
} IWDG_TypeDef;



 

typedef struct
{
  volatile uint32_t ISR;               
  volatile uint32_t ICR;               
  volatile uint32_t IER;               
  volatile uint32_t CFGR;              
  volatile uint32_t CR;                
  volatile uint32_t CMP;               
  volatile uint32_t ARR;               
  volatile uint32_t CNT;               
  volatile uint32_t OR;                
} LPTIM_TypeDef;



 

typedef struct
{
  volatile uint32_t CSR;            
  volatile uint32_t RESERVED[5];    
  volatile uint32_t TCMR;           
} OPAMP_TypeDef;



 

typedef struct
{
  volatile uint32_t CR1;       
  volatile uint32_t CR2;       
  volatile uint32_t CR3;       
  volatile uint32_t CR4;       
  volatile uint32_t SR1;       
  volatile uint32_t SR2;       
  volatile uint32_t SCR;       
  uint32_t RESERVED;       
  volatile uint32_t PUCRA;     
  volatile uint32_t PDCRA;     
  volatile uint32_t PUCRB;     
  volatile uint32_t PDCRB;     
  volatile uint32_t PUCRC;     
  volatile uint32_t PDCRC;     
  volatile uint32_t PUCRD;     
  volatile uint32_t PDCRD;     
  volatile uint32_t PUCRE;     
  volatile uint32_t PDCRE;     
  volatile uint32_t PUCRF;     
  volatile uint32_t PDCRF;     
  volatile uint32_t PUCRG;     
  volatile uint32_t PDCRG;     
  uint32_t RESERVED1[10];  
  volatile uint32_t CR5;       
} PWR_TypeDef;



 

typedef struct
{
  volatile uint32_t CR;           
  volatile uint32_t DCR;          
  volatile uint32_t SR;           
  volatile uint32_t FCR;          
  volatile uint32_t DLR;          
  volatile uint32_t CCR;          
  volatile uint32_t AR;           
  volatile uint32_t ABR;          
  volatile uint32_t DR;           
  volatile uint32_t PSMKR;        
  volatile uint32_t PSMAR;        
  volatile uint32_t PIR;          
  volatile uint32_t LPTR;         
} QUADSPI_TypeDef;



 

typedef struct
{
  volatile uint32_t CR;           
  volatile uint32_t ICSCR;        
  volatile uint32_t CFGR;         
  volatile uint32_t PLLCFGR;      
  uint32_t      RESERVED0;    
  uint32_t      RESERVED1;    
  volatile uint32_t CIER;         
  volatile uint32_t CIFR;         
  volatile uint32_t CICR;         
  uint32_t      RESERVED2;    
  volatile uint32_t AHB1RSTR;     
  volatile uint32_t AHB2RSTR;     
  volatile uint32_t AHB3RSTR;     
  uint32_t      RESERVED3;    
  volatile uint32_t APB1RSTR1;    
  volatile uint32_t APB1RSTR2;    
  volatile uint32_t APB2RSTR;     
  uint32_t      RESERVED4;    
  volatile uint32_t AHB1ENR;      
  volatile uint32_t AHB2ENR;      
  volatile uint32_t AHB3ENR;      
  uint32_t      RESERVED5;    
  volatile uint32_t APB1ENR1;     
  volatile uint32_t APB1ENR2;     
  volatile uint32_t APB2ENR;      
  uint32_t      RESERVED6;    
  volatile uint32_t AHB1SMENR;    
  volatile uint32_t AHB2SMENR;    
  volatile uint32_t AHB3SMENR;    
  uint32_t      RESERVED7;    
  volatile uint32_t APB1SMENR1;   
  volatile uint32_t APB1SMENR2;   
  volatile uint32_t APB2SMENR;    
  uint32_t      RESERVED8;    
  volatile uint32_t CCIPR;        
  uint32_t      RESERVED9;    
  volatile uint32_t BDCR;         
  volatile uint32_t CSR;          
  volatile uint32_t CRRCR;        
  volatile uint32_t CCIPR2;       
} RCC_TypeDef;



 


 







typedef struct
{
  volatile uint32_t TR;           
  volatile uint32_t DR;           
  volatile uint32_t SSR;          
  volatile uint32_t ICSR;         
  volatile uint32_t PRER;         
  volatile uint32_t WUTR;         
  volatile uint32_t CR;           
       uint32_t RESERVED0;    
       uint32_t RESERVED1;    
  volatile uint32_t WPR;          
  volatile uint32_t CALR;         
  volatile uint32_t SHIFTR;       
  volatile uint32_t TSTR;         
  volatile uint32_t TSDR;         
  volatile uint32_t TSSSR;        
       uint32_t RESERVED2;    
  volatile uint32_t ALRMAR;       
  volatile uint32_t ALRMASSR;     
  volatile uint32_t ALRMBR;       
  volatile uint32_t ALRMBSSR;     
  volatile uint32_t SR;           
  volatile uint32_t MISR;         
       uint32_t RESERVED3;    
  volatile uint32_t SCR;          
} RTC_TypeDef;



 

typedef struct
{
  volatile uint32_t CR1;                      
  volatile uint32_t CR2;                      
       uint32_t RESERVED0;                
  volatile uint32_t FLTCR;                    
       uint32_t RESERVED1[6];             
       uint32_t RESERVED2;                
  volatile uint32_t IER;                      
  volatile uint32_t SR;                       
  volatile uint32_t MISR;                     
       uint32_t RESERVED3;                
  volatile uint32_t SCR;                      
       uint32_t RESERVED4[48];            
  volatile uint32_t BKP0R;                    
  volatile uint32_t BKP1R;                    
  volatile uint32_t BKP2R;                    
  volatile uint32_t BKP3R;                    
  volatile uint32_t BKP4R;                    
  volatile uint32_t BKP5R;                    
  volatile uint32_t BKP6R;                    
  volatile uint32_t BKP7R;                    
  volatile uint32_t BKP8R;                    
  volatile uint32_t BKP9R;                    
  volatile uint32_t BKP10R;                   
  volatile uint32_t BKP11R;                   
  volatile uint32_t BKP12R;                   
  volatile uint32_t BKP13R;                   
  volatile uint32_t BKP14R;                   
  volatile uint32_t BKP15R;                   
  volatile uint32_t BKP16R;                   
  volatile uint32_t BKP17R;                   
  volatile uint32_t BKP18R;                   
  volatile uint32_t BKP19R;                   
  volatile uint32_t BKP20R;                   
  volatile uint32_t BKP21R;                   
  volatile uint32_t BKP22R;                   
  volatile uint32_t BKP23R;                   
  volatile uint32_t BKP24R;                   
  volatile uint32_t BKP25R;                   
  volatile uint32_t BKP26R;                   
  volatile uint32_t BKP27R;                   
  volatile uint32_t BKP28R;                   
  volatile uint32_t BKP29R;                   
  volatile uint32_t BKP30R;                   
  volatile uint32_t BKP31R;                   
} TAMP_TypeDef;



 

typedef struct
{
  volatile uint32_t GCR;           
  uint32_t      RESERVED[16];  
  volatile uint32_t PDMCR;         
  volatile uint32_t PDMDLY;        
} SAI_TypeDef;

typedef struct
{
  volatile uint32_t CR1;          
  volatile uint32_t CR2;          
  volatile uint32_t FRCR;         
  volatile uint32_t SLOTR;        
  volatile uint32_t IMR;          
  volatile uint32_t SR;           
  volatile uint32_t CLRFR;        
  volatile uint32_t DR;           
} SAI_Block_TypeDef;



 

typedef struct
{
  volatile uint32_t CR1;          
  volatile uint32_t CR2;          
  volatile uint32_t SR;           
  volatile uint32_t DR;           
  volatile uint32_t CRCPR;        
  volatile uint32_t RXCRCR;       
  volatile uint32_t TXCRCR;       
  volatile uint32_t I2SCFGR;      
  volatile uint32_t I2SPR;        
} SPI_TypeDef;



 

typedef struct
{
  volatile uint32_t MEMRMP;       
  volatile uint32_t CFGR1;        
  volatile uint32_t EXTICR[4];    
  volatile uint32_t SCSR;         
  volatile uint32_t CFGR2;        
  volatile uint32_t SWPR;         
  volatile uint32_t SKR;          
} SYSCFG_TypeDef;



 

typedef struct
{
  volatile uint32_t CR1;          
  volatile uint32_t CR2;          
  volatile uint32_t SMCR;         
  volatile uint32_t DIER;         
  volatile uint32_t SR;           
  volatile uint32_t EGR;          
  volatile uint32_t CCMR1;        
  volatile uint32_t CCMR2;        
  volatile uint32_t CCER;         
  volatile uint32_t CNT;          
  volatile uint32_t PSC;          
  volatile uint32_t ARR;          
  volatile uint32_t RCR;          
  volatile uint32_t CCR1;         
  volatile uint32_t CCR2;         
  volatile uint32_t CCR3;         
  volatile uint32_t CCR4;         
  volatile uint32_t BDTR;         
  volatile uint32_t CCR5;         
  volatile uint32_t CCR6;         
  volatile uint32_t CCMR3;        
  volatile uint32_t DTR2;         
  volatile uint32_t ECR;          
  volatile uint32_t TISEL;        
  volatile uint32_t AF1;          
  volatile uint32_t AF2;          
  volatile uint32_t OR ;          
       uint32_t RESERVED0[220]; 
  volatile uint32_t DCR;          
  volatile uint32_t DMAR;         
} TIM_TypeDef;



 
typedef struct
{
  volatile uint32_t CR1;          
  volatile uint32_t CR2;          
  volatile uint32_t CR3;          
  volatile uint32_t BRR;          
  volatile uint32_t GTPR;         
  volatile uint32_t RTOR;         
  volatile uint32_t RQR;          
  volatile uint32_t ISR;          
  volatile uint32_t ICR;          
  volatile uint32_t RDR;          
  volatile uint32_t TDR;          
  volatile uint32_t PRESC;        
} USART_TypeDef;



 

typedef struct
{
  volatile uint16_t EP0R;             
  volatile uint16_t RESERVED0;        
  volatile uint16_t EP1R;             
  volatile uint16_t RESERVED1;        
  volatile uint16_t EP2R;             
  volatile uint16_t RESERVED2;        
  volatile uint16_t EP3R;             
  volatile uint16_t RESERVED3;        
  volatile uint16_t EP4R;             
  volatile uint16_t RESERVED4;        
  volatile uint16_t EP5R;             
  volatile uint16_t RESERVED5;        
  volatile uint16_t EP6R;             
  volatile uint16_t RESERVED6;        
  volatile uint16_t EP7R;             
  volatile uint16_t RESERVED7[17];    
  volatile uint16_t CNTR;             
  volatile uint16_t RESERVED8;        
  volatile uint16_t ISTR;             
  volatile uint16_t RESERVED9;        
  volatile uint16_t FNR;              
  volatile uint16_t RESERVEDA;        
  volatile uint16_t DADDR;            
  volatile uint16_t RESERVEDB;        
  volatile uint16_t BTABLE;           
  volatile uint16_t RESERVEDC;        
  volatile uint16_t LPMCSR;           
  volatile uint16_t RESERVEDD;        
  volatile uint16_t BCDR;             
  volatile uint16_t RESERVEDE;        
} USB_TypeDef;



 

typedef struct
{
  volatile uint32_t CSR;          
  volatile uint32_t CCR;          
} VREFBUF_TypeDef;



 

typedef struct
{
  volatile uint32_t CR;           
  volatile uint32_t CFR;          
  volatile uint32_t SR;           
} WWDG_TypeDef;




 
typedef struct
{
  volatile uint32_t CR;   
  volatile uint32_t SR;   
  volatile uint32_t DR;   
} RNG_TypeDef;



 

typedef struct
{
  volatile uint32_t CSR;           
  volatile uint32_t WDATA;         
  volatile uint32_t RDATA;         
} CORDIC_TypeDef;



 

typedef struct
{
  volatile uint32_t CFG1;           
  volatile uint32_t CFG2;           
  volatile uint32_t RESERVED0;      
  volatile uint32_t CR;             
  volatile uint32_t IMR;            
  volatile uint32_t SR;             
  volatile uint32_t ICR;            
  volatile uint32_t TX_ORDSET;      
  volatile uint32_t TX_PAYSZ;       
  volatile uint32_t TXDR;           
  volatile uint32_t RX_ORDSET;      
  volatile uint32_t RX_PAYSZ;       
  volatile uint32_t RXDR;           
  volatile uint32_t RX_ORDEXT1;     
  volatile uint32_t RX_ORDEXT2;     
} UCPD_TypeDef;



 



 
typedef struct
{
  volatile uint32_t MCR;             
  volatile uint32_t MISR;            
  volatile uint32_t MICR;            
  volatile uint32_t MDIER;           
  volatile uint32_t MCNTR;           
  volatile uint32_t MPER;            
  volatile uint32_t MREP;            
  volatile uint32_t MCMP1R;          
  uint32_t      RESERVED0;      
  volatile uint32_t MCMP2R;          
  volatile uint32_t MCMP3R;          
  volatile uint32_t MCMP4R;          
  uint32_t      RESERVED1[20];   
}HRTIM_Master_TypeDef;

 
typedef struct
{
  volatile uint32_t TIMxCR;      
  volatile uint32_t TIMxISR;     
  volatile uint32_t TIMxICR;     
  volatile uint32_t TIMxDIER;    
  volatile uint32_t CNTxR;       
  volatile uint32_t PERxR;       
  volatile uint32_t REPxR;       
  volatile uint32_t CMP1xR;      
  volatile uint32_t CMP1CxR;     
  volatile uint32_t CMP2xR;      
  volatile uint32_t CMP3xR;      
  volatile uint32_t CMP4xR;      
  volatile uint32_t CPT1xR;      
  volatile uint32_t CPT2xR;      
  volatile uint32_t DTxR;        
  volatile uint32_t SETx1R;      
  volatile uint32_t RSTx1R;      
  volatile uint32_t SETx2R;      
  volatile uint32_t RSTx2R;      
  volatile uint32_t EEFxR1;      
  volatile uint32_t EEFxR2;      
  volatile uint32_t RSTxR;       
  volatile uint32_t CHPxR;       
  volatile uint32_t CPT1xCR;     
  volatile uint32_t CPT2xCR;     
  volatile uint32_t OUTxR;       
  volatile uint32_t FLTxR;       
  volatile uint32_t TIMxCR2;     
  volatile uint32_t EEFxR3;      
  uint32_t   RESERVED0[3];   
}HRTIM_Timerx_TypeDef;

 
typedef struct
{
  volatile uint32_t CR1;         
  volatile uint32_t CR2;         
  volatile uint32_t ISR;         
  volatile uint32_t ICR;         
  volatile uint32_t IER;         
  volatile uint32_t OENR;        
  volatile uint32_t ODISR;       
  volatile uint32_t ODSR;        
  volatile uint32_t BMCR;        
  volatile uint32_t BMTRGR;      
  volatile uint32_t BMCMPR;      
  volatile uint32_t BMPER;       
  volatile uint32_t EECR1;       
  volatile uint32_t EECR2;       
  volatile uint32_t EECR3;       
  volatile uint32_t ADC1R;       
  volatile uint32_t ADC2R;       
  volatile uint32_t ADC3R;       
  volatile uint32_t ADC4R;       
  volatile uint32_t DLLCR;       
  volatile uint32_t FLTINR1;     
  volatile uint32_t FLTINR2;     
  volatile uint32_t BDMUPR;      
  volatile uint32_t BDTAUPR;     
  volatile uint32_t BDTBUPR;     
  volatile uint32_t BDTCUPR;     
  volatile uint32_t BDTDUPR;     
  volatile uint32_t BDTEUPR;     
  volatile uint32_t BDMADR;      
  volatile uint32_t BDTFUPR;     
  volatile uint32_t ADCER;       
  volatile uint32_t ADCUR;       
  volatile uint32_t ADCPS1;      
  volatile uint32_t ADCPS2;      
  volatile uint32_t FLTINR3;     
  volatile uint32_t FLTINR4;     
}HRTIM_Common_TypeDef;

 
typedef struct {
  HRTIM_Master_TypeDef sMasterRegs;
  HRTIM_Timerx_TypeDef sTimerxRegs[6];
  HRTIM_Common_TypeDef sCommonRegs;
}HRTIM_TypeDef;



 



 

#line 1140 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1147 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 







 





#line 1167 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1201 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1219 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1241 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1251 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1260 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1269 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1290 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"




 
#line 1302 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1310 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







 




 







 



 
#line 1365 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1375 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1383 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1413 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1434 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1443 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1452 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1469 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



















 



 

  

 


  

 



 

 
 
 

 
 
 
 
 



 


 
#line 1556 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1591 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1623 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1631 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 1646 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 1668 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1675 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1694 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1703 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 1715 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1722 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1730 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1737 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 1751 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1759 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1766 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1773 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1780 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1787 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1794 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1801 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1808 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1815 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1822 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 1834 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1841 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1848 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1855 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1862 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1869 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1876 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1883 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1890 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




#line 1902 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 








 








 
#line 1933 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1942 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1951 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1960 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1969 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 1979 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1988 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 1997 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2006 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2015 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2025 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2034 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2043 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2052 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2061 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2071 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2080 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 






#line 2101 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 2116 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2125 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2134 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2143 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




#line 2155 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2164 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 2180 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2189 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 2205 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2214 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 2230 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2239 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




 




 




 




 
#line 2287 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2311 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2335 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2347 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2358 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
#line 2399 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2433 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2443 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2451 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

















#line 2475 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2485 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 









 
 
 
 
 
 




#line 2513 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"









#line 2528 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2535 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

















 
 
 
 
 
 
#line 2602 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
 
 
 
 
 




 




 
#line 2645 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
 
 
 

 
#line 2686 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2694 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2701 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"











 
#line 2740 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2754 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 


 


 
#line 2772 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2780 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 2794 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2804 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 2815 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2823 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 2837 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2847 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2861 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2869 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2877 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2885 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2893 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2901 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2909 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2917 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2925 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2933 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2941 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2949 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2966 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 2982 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2990 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 2998 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"















#line 3019 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"









 




 




 
#line 3045 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3053 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3061 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 3073 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 3086 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 3094 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 3102 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 3110 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
#line 3123 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3137 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







 
#line 3184 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 3212 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 

 
#line 3316 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3414 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3440 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"























 




 




 




 
 
 
 
 

 
#line 3496 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



















#line 3523 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 3532 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3582 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3632 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3642 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"















#line 3665 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3679 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3693 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3719 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 3817 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 
 
 
 
 
 
#line 3924 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4022 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4099 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4176 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4253 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4330 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4368 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4406 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4426 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4446 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4466 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4486 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
 
#line 4512 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 4534 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4545 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4553 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4597 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4611 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4619 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 4635 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 4654 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4689 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4697 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4771 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4845 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4885 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4893 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4919 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 4938 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 4955 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 4977 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
#line 5001 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 
#line 5053 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 





 
 




 
 
 
 
 
 
#line 5115 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5153 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5206 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5232 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5295 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 5308 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5316 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5324 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
#line 5342 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5350 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5358 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 5379 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
#line 5386 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
#line 5396 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
#line 5419 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
#line 5447 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
#line 5463 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 



 




 
 
 
 
 
 
#line 5484 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5492 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"













#line 5529 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5536 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"











 
#line 5555 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5563 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5575 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5583 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5591 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5599 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"













 
#line 5620 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5628 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5640 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5648 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"













 




















 
#line 5692 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"











#line 5710 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5718 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5725 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5748 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5761 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5773 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5785 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5797 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5810 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5822 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5834 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 5846 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 5938 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 5988 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6038 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6056 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6138 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6188 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6270 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6320 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6370 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6388 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6406 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6456 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6474 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6492 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6590 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6624 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6677 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6735 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6745 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6803 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6813 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6863 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6881 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
#line 6966 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 6989 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7012 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7056 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 




 
#line 7182 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7244 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7288 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7332 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7375 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 




 
#line 7423 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7431 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7481 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7504 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7520 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7548 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7579 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 7606 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7622 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7650 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7684 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7707 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7723 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7751 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7782 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 7824 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7852 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7886 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7898 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7909 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7920 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7931 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7942 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 7954 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7965 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7976 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7987 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 7998 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 

#line 8058 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8069 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8079 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8089 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8099 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8114 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8124 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8134 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8144 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8159 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8169 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8179 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8189 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8204 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8214 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8224 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8234 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8249 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8259 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8269 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8279 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8294 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8304 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8314 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8324 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 8337 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8344 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8352 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8390 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8403 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8416 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8429 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8442 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8455 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8468 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8506 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8519 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8532 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8545 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8558 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8571 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8584 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8606 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8642 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8665 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8713 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8765 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8812 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8874 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8903 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8923 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 8934 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 8957 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 8964 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9002 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9040 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9078 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9121 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"









 
#line 9227 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
#line 9255 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9272 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9289 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9306 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9323 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9338 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9352 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9366 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9380 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 9394 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9436 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9468 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9485 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9502 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9516 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9530 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9544 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9579 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9593 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9607 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9624 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9650 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9682 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9699 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9716 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9730 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9744 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9758 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9793 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9807 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9821 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9838 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 9864 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9877 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 9955 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10018 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10096 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10136 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10168 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10239 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 10264 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10284 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10301 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10318 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 
 
 
 
 
 
#line 10389 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10424 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10435 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10468 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10485 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10502 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10555 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10584 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 
 
 
 
 
 




 
#line 10617 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 10633 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 10698 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 

#line 10721 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 
 
 
 
 

 

#line 10755 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 

 
#line 10775 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10805 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10840 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10863 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10889 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10915 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10938 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 10985 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11029 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 

#line 11080 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11127 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11177 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11227 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11277 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11327 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11377 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11427 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11477 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11527 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11577 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11612 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 11672 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11686 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11709 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11723 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 11780 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 
 
 
 
 


 




 
#line 11838 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 11851 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 11858 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
#line 11872 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11884 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 










 










 
#line 11916 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 11926 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 11934 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







 
#line 11948 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







 
#line 11963 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 11970 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







 
#line 11984 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






#line 11998 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 12006 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 12017 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 12027 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 12042 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 12051 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12074 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12100 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12126 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12149 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12193 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12201 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12263 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12274 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12312 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12335 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12379 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12387 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12455 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12466 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12504 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12530 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12580 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12588 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12656 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12667 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12705 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
































































































 
#line 12813 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 12826 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 12845 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12853 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 12878 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12886 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12900 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 












 
 
 
 
 
 
#line 12929 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 12946 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 

 
#line 12995 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13039 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 13073 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13081 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 13171 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 13199 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13207 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13250 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13280 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 13355 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13367 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13437 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13449 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13469 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13489 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13509 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
#line 13537 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13566 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13587 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13610 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13633 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13656 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 13679 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




 





 
 
 
 
 
 












 












#line 13878 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 13885 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 13907 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 13917 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"









 
#line 13933 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 13946 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


#line 13957 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 13966 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 
#line 13980 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 13991 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14001 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14011 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 14025 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 14052 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14075 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14082 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14105 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 










#line 14134 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14142 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14149 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14156 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14163 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14170 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14177 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14184 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14191 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 
 
 
 
 


 


 
#line 14213 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14220 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14251 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14293 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14332 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 
#line 14387 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14398 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
#line 14411 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 14453 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14467 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14478 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14489 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14500 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14511 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14525 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14536 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14547 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14558 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14569 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14583 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14594 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14605 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14615 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14625 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14639 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14649 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14659 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14669 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
#line 14679 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14687 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14704 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14802 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 14829 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

























 
#line 14864 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14872 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14906 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 14914 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 14923 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 14936 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 14948 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 14961 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"









 
#line 15028 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15090 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15119 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


 






#line 15134 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15142 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"











#line 15159 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15167 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 






#line 15186 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 15200 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






#line 15214 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15222 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"











#line 15239 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15247 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 






#line 15266 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 15280 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15288 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15296 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





#line 15307 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15315 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 15381 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15389 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 




 




 




 
#line 15438 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 15456 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 15481 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15488 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15495 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15502 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15509 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15519 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15528 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15576 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15623 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 15637 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15645 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15653 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15661 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15674 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15681 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




















#line 15714 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15721 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
 
#line 15754 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15777 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15800 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






















#line 15830 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15838 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"







#line 15863 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 15880 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 
#line 15903 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 15910 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
 
 
 
 
 
 
#line 16007 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16073 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16158 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16166 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16174 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16182 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16199 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16291 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16338 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
#line 16357 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
 
#line 16378 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
 
 
 
 
#line 16397 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16409 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 

                                                                          
#line 16419 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"


                                                                          
#line 16429 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"
                                                                          
#line 16437 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
 
 
 
 
#line 16450 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16467 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 16480 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 16490 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






 
#line 16507 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


 
#line 16523 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 





 
 




 




 




 




 




 




 




 




 

 




 




 




 




 




 




 




 




 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

 




 




 




 




 




 




 




 




 

 




#line 16720 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16738 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16756 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16774 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16792 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16810 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16828 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 




#line 16846 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 

 


#line 16862 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16874 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16886 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16898 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16910 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16922 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16934 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16946 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16958 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16970 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16982 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 16994 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 17006 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 17018 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 17030 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 


#line 17042 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"



 
 
 
 
 
 
#line 17103 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17117 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17167 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17214 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17274 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17315 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 
#line 17344 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 




 




 
 
 
 
 
 
#line 17381 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 
#line 17397 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

#line 17404 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"





 






 



 



 

 













 





 
#line 17454 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 


 


 






 
#line 17485 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"






 


 
#line 17502 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 


 


 





 


 
#line 17525 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 


 


 


 




 





 


 





 



 


 


 


 
#line 17581 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 17594 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17602 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 17619 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17629 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17638 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17647 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 




 
#line 17665 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17679 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17691 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17703 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17763 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17792 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17804 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17813 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17822 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17832 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17842 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 17855 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17864 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17873 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17883 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17892 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17901 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17913 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17923 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17935 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17945 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17954 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17962 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 
#line 17977 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 17989 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 



 


 




 






 
#line 18021 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 




 






 
#line 18041 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 18049 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 
#line 18057 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






 
#line 18072 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g474xx.h"

 






 




 


 


 


 


 




 


 
 
 
 
 
 
 

 

 









 

  

 

#line 118 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
#line 129 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"



 



 
typedef enum
{
  RESET = 0,
  SET = !RESET
} FlagStatus, ITStatus;

typedef enum
{
  DISABLE = 0,
  ENABLE = !DISABLE
} FunctionalState;


typedef enum
{
  SUCCESS = 0,
  ERROR = !SUCCESS
} ErrorStatus;



 




 
















 
 
#line 189 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"

 
#line 198 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"

 
#line 207 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"

 
#line 216 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"

 
#line 225 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"

 
#line 234 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"




 

#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"

















 

 
#line 624 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"

#line 242 "../Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"









 



 




#line 30 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

















 

 







 
 
 



 
#line 48 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 
#line 95 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 103 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






 



 





 



 
#line 141 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 208 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 
#line 221 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 




 



 






 



 

#line 258 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






#line 270 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"








 



 
#line 297 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"





#line 341 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 351 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 413 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 

#line 518 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 

#line 535 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 

#line 554 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"









 




 
#line 580 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 





 



 


















#line 630 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"





#line 641 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 648 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"














 



 





 



 
#line 686 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 695 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 706 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 818 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 835 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 
#line 858 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 





 



 






 



 















 
 







 



 
  


 






 








 



 














 



 










 



 







































 



 


#line 1026 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






 



 

 
#line 1048 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

 












 



 




























#line 1104 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 




 















 




 
#line 1145 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 









#line 1175 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 



#line 1213 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1223 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1242 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"










#line 1269 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 




 



 

























 




 








 



 




 



 
#line 1349 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 

#line 1366 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1378 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1409 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 











 

#line 1457 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1471 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 

 



 



 



 








 




 




 



 
#line 1522 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

 












#line 1559 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 
#line 1589 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 
#line 1604 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 








#line 1632 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1643 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 

#line 1673 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1681 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






#line 1697 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"





 



 





 



 



 



 
#line 1737 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 



 



 






 




 



 

 



 





 



 
#line 1798 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"









 




 
#line 1826 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1847 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1858 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1867 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1880 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1889 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 







 



 
#line 1925 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 1940 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


#line 1973 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 
#line 2140 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



#line 2150 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 

#line 2164 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 







 



 

#line 2187 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 

#line 2215 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 










 



 














 




 




 




 







 




 
#line 2293 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 




 
#line 2337 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2351 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 




 








#line 2625 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2639 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2856 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2870 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2877 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 2898 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3046 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

 



#line 3071 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3092 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3209 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3218 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3235 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3250 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






#line 3279 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

















#line 3305 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"





#line 3332 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"







#line 3347 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3380 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3398 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"












#line 3416 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3437 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3470 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"



 



 




 



 
#line 3493 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3521 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3536 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






 



 













#line 3585 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3611 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3618 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3630 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 

#line 3644 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"








 



 
#line 3665 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 







 



 













 




 









#line 3719 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 












#line 3745 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3754 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"

#line 3763 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"








 



 








#line 3796 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"




 



 

#line 3813 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"






 



 




 



 
#line 3847 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 







 



 
#line 3874 "../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h"


 



 





 



 





 



 



 








#line 31 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
#line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stddef.h"
 






 

 
 
 





 





#line 34 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stddef.h"




  typedef signed int ptrdiff_t;



  



    typedef unsigned int size_t;    
#line 57 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stddef.h"



   



      typedef unsigned short wchar_t;  
#line 82 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stddef.h"



    




   




  typedef long double max_align_t;









#line 114 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stddef.h"



 

#line 32 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"

 



 
typedef enum
{
  HAL_OK       = 0x00U,
  HAL_ERROR    = 0x01U,
  HAL_BUSY     = 0x02U,
  HAL_TIMEOUT  = 0x03U
} HAL_StatusTypeDef;



 
typedef enum
{
  HAL_UNLOCKED = 0x00U,
  HAL_LOCKED   = 0x01U
} HAL_LockTypeDef;

 




























 


#line 102 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"







#line 124 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"


 
#line 153 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"



 









 


#line 185 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"



 



 


#line 202 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"








#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"



 



 

 


 



 
typedef struct
{
  uint32_t PLLState;   
 

  uint32_t PLLSource;  
 

  uint32_t PLLM;       
 

  uint32_t PLLN;       
 

  uint32_t PLLP;       
 

  uint32_t PLLQ;       
 

  uint32_t PLLR;       

 

}RCC_PLLInitTypeDef;



 
typedef struct
{
  uint32_t OscillatorType;       
 

  uint32_t HSEState;             
 

  uint32_t LSEState;             
 

  uint32_t HSIState;             
 

  uint32_t HSICalibrationValue;  
 

  uint32_t LSIState;             
 

  uint32_t HSI48State;             
 

  RCC_PLLInitTypeDef PLL;         

}RCC_OscInitTypeDef;



 
typedef struct
{
  uint32_t ClockType;             
 

  uint32_t SYSCLKSource;          
 

  uint32_t AHBCLKDivider;         
 

  uint32_t APB1CLKDivider;        
 

  uint32_t APB2CLKDivider;        
 

}RCC_ClkInitTypeDef;



 

 


 



 




 



 
#line 150 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 



 





 



 





 



 





 



 




 



 




 



 





 



 
#line 231 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 



 
#line 268 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 



 






 



 






 



 





 



 





 



 






 



 





 



 





 



 
#line 357 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 



 







 



 






 



 




 

#line 402 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

 




 



 
#line 421 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 



 







 



 
#line 448 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


 










 
 




 



 
#line 480 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

 



 



 






 



 

 



 







 

#line 523 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 531 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 539 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 547 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 555 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 563 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 571 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

















 







 

#line 605 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 613 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 621 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 629 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 637 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 645 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 653 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 661 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 671 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 679 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 689 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 697 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 707 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 717 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 725 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"










































 







 

#line 786 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 796 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"











 







 

#line 824 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 832 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 840 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 850 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 858 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 866 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 874 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 882 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 890 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 898 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 906 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 914 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 922 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 932 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 942 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 950 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 958 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 966 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 976 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 984 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 992 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1000 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1008 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1018 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1026 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"































































 







 

#line 1106 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1114 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1122 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1130 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1138 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1148 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1156 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1164 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1172 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1182 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1190 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

#line 1200 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

































 







 































 







 
















































































 







 



















 







 





























































































































 







 
































































 




 



































 




 



















































































 




 






















 




 






















































































































 




 



































































 








 




































 








 
























































































 








 



















 








 
































































































































 








 
































































 








 




































 








 
























































































 








 



















 








 




























































































































 








 

































































 



 






 






 



 








 






 
















 











 











 












 


























 
#line 2856 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"




















 
#line 2894 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"







 



























 










 









 













 












 






































 
#line 3027 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"







 














 













 










 









 















 





















 






 













 














 















 














 






 




















 
#line 3224 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"



 



 

 


 
 







 




 

 


 

#line 3263 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"


























































#line 3329 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"












 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"















 

 







 
#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"



 



 

 



 



 
typedef struct
{
  uint32_t PeriphClockSelection;   
 

  uint32_t Usart1ClockSelection;   
 

  uint32_t Usart2ClockSelection;   
 

  uint32_t Usart3ClockSelection;   
 


  uint32_t Uart4ClockSelection;    
 



  uint32_t Uart5ClockSelection;    
 



  uint32_t Lpuart1ClockSelection;  
 

  uint32_t I2c1ClockSelection;     
 

  uint32_t I2c2ClockSelection;     
 

  uint32_t I2c3ClockSelection;     
 



  uint32_t I2c4ClockSelection;     
 


  uint32_t Lptim1ClockSelection;   
 

  uint32_t Sai1ClockSelection;     
 

  uint32_t I2sClockSelection;     
 


  uint32_t FdcanClockSelection;     
 



  uint32_t UsbClockSelection;      
 


  uint32_t RngClockSelection;      
 

  uint32_t Adc12ClockSelection;    
 


  uint32_t Adc345ClockSelection;   
 



  uint32_t QspiClockSelection;     
 


  uint32_t RTCClockSelection;      
 
}RCC_PeriphCLKInitTypeDef;



 
typedef struct
{
  uint32_t Prescaler;             
 

  uint32_t Source;                
 

  uint32_t Polarity;              
 

  uint32_t ReloadValue;           

 

  uint32_t ErrorLimitValue;       
 

  uint32_t HSI48CalibrationValue; 
 

}RCC_CRSInitTypeDef;



 
typedef struct
{
  uint32_t ReloadValue;           
 

  uint32_t HSI48CalibrationValue; 
 

  uint32_t FreqErrorCapture;      

 

  uint32_t FreqErrorDirection;    


 

}RCC_CRSSynchroInfoTypeDef;



 

 


 



 




 



 
#line 229 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"


 




 






 



 






 



 






 




 






 





 






 




 






 



 





 



 





 



 





 



 






 



 






 



 






 



 





 




 




 



 




 



 





 




 





 





 





 





 





 




 



 



 
#line 460 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"


 



 





 



 
#line 485 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"


 



 




 



 




 



 



 



 





 



 




 



 
#line 544 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"



 



 
#line 559 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"



 



 

 


 










 









 











 









 











 









 












 









 














 









 













 









 










 








 











 








 










 








 












 








 













 









 













 










 













 










 













 









 












 







 













 







 











 








 










 








 












 








 







 




 





 





 





 






 






 






 





 





 









 









 





 





 












 











 










 












 
 


#line 1154 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"













 















 

 


#line 1198 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"




 



 




 





 






 





 











 




 



 

 


 



 

HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit);
void              HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit);
uint32_t          HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk);



 



 

void              HAL_RCCEx_EnableLSECSS(void);
void              HAL_RCCEx_DisableLSECSS(void);
void              HAL_RCCEx_EnableLSECSS_IT(void);
void              HAL_RCCEx_LSECSS_IRQHandler(void);
void              HAL_RCCEx_LSECSS_Callback(void);
void              HAL_RCCEx_EnableLSCO(uint32_t LSCOSource);
void              HAL_RCCEx_DisableLSCO(void);



 



 

void              HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit);
void              HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void);
void              HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo);
uint32_t          HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout);
void              HAL_RCCEx_CRS_IRQHandler(void);
void              HAL_RCCEx_CRS_SyncOkCallback(void);
void              HAL_RCCEx_CRS_SyncWarnCallback(void);
void              HAL_RCCEx_CRS_ExpectedSyncCallback(void);
void              HAL_RCCEx_CRS_ErrorCallback(uint32_t Error);



 



 

 


 






#line 1445 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"



















#line 1471 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"

#line 1478 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"










































































#line 1558 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"

































 



 



 







#line 3345 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"

 


 




 

 
HAL_StatusTypeDef HAL_RCC_DeInit(void);
HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct);
HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency);



 



 

 
void              HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv);
void              HAL_RCC_EnableCSS(void);
void              HAL_RCC_EnableLSECSS(void);
void              HAL_RCC_DisableLSECSS(void);
uint32_t          HAL_RCC_GetSysClockFreq(void);
uint32_t          HAL_RCC_GetHCLKFreq(void);
uint32_t          HAL_RCC_GetPCLK1Freq(void);
uint32_t          HAL_RCC_GetPCLK2Freq(void);
void              HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct);
void              HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency);
 
void              HAL_RCC_NMI_IRQHandler(void);
 
void              HAL_RCC_CSSCallback(void);



 



 



 



 







#line 213 "../Core/Inc/stm32g4xx_hal_conf.h"


#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"



 




 

 



 


 
typedef struct
{
  uint32_t Pin;        
 

  uint32_t Mode;       
 

  uint32_t Pull;       
 

  uint32_t Speed;      
 

  uint32_t Alternate;  
 
} GPIO_InitTypeDef;



 
typedef enum
{
  GPIO_PIN_RESET = 0U,
  GPIO_PIN_SET
} GPIO_PinState;


 

 


 


 
#line 101 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"




 









  







    



 





 




 






 




 





 



 

 


 






 







 







 







 







 




 

 


 
#line 233 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"


 



 





#line 257 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"











 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"
















 


 







 
#line 30 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 




 

 
 


 



 



 







 
#line 71 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 97 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 119 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 134 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 151 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 170 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 186 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 212 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 226 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 240 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 252 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 
#line 267 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 







 
#line 287 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 






 



 

 


 



 
#line 317 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio_ex.h"



 



 

 


 



 







#line 272 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"

 



 




 

 
void              HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);
void              HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin);



 




 

 
GPIO_PinState     HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
void              HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
void              HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
void              HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
void              HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);



 



 



 



 







#line 217 "../Core/Inc/stm32g4xx_hal_conf.h"


#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"



 



 

 


 



 
typedef struct
{
  uint32_t Request;                   
 

  uint32_t Direction;                 

 

  uint32_t PeriphInc;                 
 

  uint32_t MemInc;                    
 

  uint32_t PeriphDataAlignment;       
 

  uint32_t MemDataAlignment;          
 

  uint32_t Mode;                      


 

  uint32_t Priority;                  
 
} DMA_InitTypeDef;



 
typedef enum
{
  HAL_DMA_STATE_RESET             = 0x00U,   
  HAL_DMA_STATE_READY             = 0x01U,   
  HAL_DMA_STATE_BUSY              = 0x02U,   
  HAL_DMA_STATE_TIMEOUT           = 0x03U,   
} HAL_DMA_StateTypeDef;



 
typedef enum
{
  HAL_DMA_FULL_TRANSFER      = 0x00U,     
  HAL_DMA_HALF_TRANSFER      = 0x01U      
} HAL_DMA_LevelCompleteTypeDef;




 
typedef enum
{
  HAL_DMA_XFER_CPLT_CB_ID          = 0x00U,     
  HAL_DMA_XFER_HALFCPLT_CB_ID      = 0x01U,     
  HAL_DMA_XFER_ERROR_CB_ID         = 0x02U,     
  HAL_DMA_XFER_ABORT_CB_ID         = 0x03U,     
  HAL_DMA_XFER_ALL_CB_ID           = 0x04U      

} HAL_DMA_CallbackIDTypeDef;



 
typedef struct __DMA_HandleTypeDef
{
  DMA_Channel_TypeDef    *Instance;                                                   

  DMA_InitTypeDef       Init;                                                         

  HAL_LockTypeDef       Lock;                                                         

  volatile HAL_DMA_StateTypeDef  State;                                                   

  void                  *Parent;                                                      

  void (* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma);                        

  void (* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma);                    

  void (* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma);                       

  void (* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma);                       

  volatile uint32_t          ErrorCode;                                                   

  DMA_TypeDef            *DmaBaseAddress;                                             

  uint32_t               ChannelIndex;                                                

  DMAMUX_Channel_TypeDef           *DMAmuxChannel;                                    

  DMAMUX_ChannelStatus_TypeDef     *DMAmuxChannelStatus;                              

  uint32_t                         DMAmuxChannelStatusMask;                           

  DMAMUX_RequestGen_TypeDef        *DMAmuxRequestGen;                                 

  DMAMUX_RequestGenStatus_TypeDef  *DMAmuxRequestGenStatus;                           

  uint32_t                         DMAmuxRequestGenStatusMask;                        

} DMA_HandleTypeDef;


 

 



 



 
#line 172 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"


 



 















#line 200 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

#line 211 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

#line 218 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

#line 225 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"




#line 239 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"









#line 255 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

#line 263 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"







#line 276 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"







#line 291 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"











#line 309 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"









#line 327 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

#line 334 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"




















 



 





 



 




 



 




 



 





 



 





 



 




 



 






 




 





 



 
#line 474 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"


 



 

 


 




 






 






 



 





 

#line 547 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"





 
#line 584 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"





 
#line 621 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"





 
#line 658 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"












 
#line 678 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"












 
#line 698 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"










 











 











 






 




 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h"



 



 

 


 



 




 
typedef struct
{
  uint32_t SyncSignalID;  
 

  uint32_t SyncPolarity;  
 

  FunctionalState SyncEnable;  
 


  FunctionalState EventEnable;    
 

  uint32_t RequestNumber; 
 


} HAL_DMA_MuxSyncConfigTypeDef;




 
typedef struct
{
  uint32_t SignalID;      
 

  uint32_t Polarity;       
 

  uint32_t RequestNumber;  
 

} HAL_DMA_MuxRequestGeneratorConfigTypeDef;



 

 


 



 
#line 122 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h"



 



 







 



 
#line 163 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h"



 



 







 



 

 

 


 

 


 

 
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator(DMA_HandleTypeDef *hdma,
                                                      HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig);
HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator(DMA_HandleTypeDef *hdma);
HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator(DMA_HandleTypeDef *hdma);
 

 
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig);
 

void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma);



 



 

 



 


























 




 



 







#line 748 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"

 



 



 
 
HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma);
HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma);


 



 
 
HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength);
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress,
                                   uint32_t DataLength);
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma);
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma);
HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef CompleteLevel,
                                          uint32_t Timeout);
void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma);
HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID, void (* pCallback)(DMA_HandleTypeDef *_hdma));
HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef CallbackID);



 



 
 
HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma);
uint32_t             HAL_DMA_GetError(DMA_HandleTypeDef *hdma);


 



 

 


 

































 

 



 



 







#line 221 "../Core/Inc/stm32g4xx_hal_conf.h"


#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"
















 
 







 
#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"



 




 

 


 





 
typedef struct
{
  uint8_t                Enable;                
 
  uint8_t                Number;                
 
  uint32_t               BaseAddress;            
  uint8_t                Size;                  
 
  uint8_t                SubRegionDisable;      
 
  uint8_t                TypeExtField;          
 
  uint8_t                AccessPermission;      
 
  uint8_t                DisableExec;           
 
  uint8_t                IsShareable;           
 
  uint8_t                IsCacheable;           
 
  uint8_t                IsBufferable;          
 
}MPU_Region_InitTypeDef;


 




 

 



 



 
#line 100 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"


 



 





 




 






 



 




 



 




 



 




 



 




 



 




 



 






 



 
#line 213 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"


 



 
#line 226 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"


 



 
#line 241 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"


 




 

 


 



 

 


 




 
 
void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);
void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority);
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
void HAL_NVIC_DisableIRQ(IRQn_Type IRQn);
void HAL_NVIC_SystemReset(void);
uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb);



 




 
 
uint32_t HAL_NVIC_GetPriorityGrouping(void);
void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority);
uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn);
void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn);
void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn);
uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn);
void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource);
void HAL_SYSTICK_IRQHandler(void);
void HAL_SYSTICK_Callback(void);


void HAL_MPU_Enable(uint32_t MPU_Control);
void HAL_MPU_Disable(void);
void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init);



 



 

  
 
 
 


 




































#line 357 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"

#line 366 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"

#line 395 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"






 

 



 



 








#line 225 "../Core/Inc/stm32g4xx_hal_conf.h"


























#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"



 




 

 



 
typedef enum
{
  HAL_EXTI_COMMON_CB_ID         = 0x00UL
} EXTI_CallbackIDTypeDef;




 
typedef struct
{
  uint32_t Line;                     
  void (* PendingCallback)(void);    
} EXTI_HandleTypeDef;



 
typedef struct
{
  uint32_t Line;      
 
  uint32_t Mode;      
 
  uint32_t Trigger;   
 
  uint32_t GPIOSel;   

 
} EXTI_ConfigTypeDef;



 

 


 



 
#line 131 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"


 



 





 



 






 




 
#line 167 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"


 



 

 


 



 

 


 


 
#line 197 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"



 








 




 




 




 

 


 
#line 236 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"








#line 251 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"










 


 



 




 
 
HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig);
HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig);
HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti);
HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef CallbackID, void (*pPendingCbfn)(void));
HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine);


 




 
 
void              HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti);
uint32_t          HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge);
void              HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge);
void              HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti);



 



 



 



 







#line 253 "../Core/Inc/stm32g4xx_hal_conf.h"


#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"





 



 

 


 



 
typedef enum
{
  HAL_FDCAN_STATE_RESET      = 0x00U,  
  HAL_FDCAN_STATE_READY      = 0x01U,  
  HAL_FDCAN_STATE_BUSY       = 0x02U,  
  HAL_FDCAN_STATE_ERROR      = 0x03U   
} HAL_FDCAN_StateTypeDef;



 
typedef struct
{
  uint32_t ClockDivider;                 



 

  uint32_t FrameFormat;                  
 

  uint32_t Mode;                         
 

  FunctionalState AutoRetransmission;    
 

  FunctionalState TransmitPause;         
 

  FunctionalState ProtocolException;      
 

  uint32_t NominalPrescaler;             

 

  uint32_t NominalSyncJumpWidth;         


 

  uint32_t NominalTimeSeg1;              
 

  uint32_t NominalTimeSeg2;              
 

  uint32_t DataPrescaler;                

 

  uint32_t DataSyncJumpWidth;            


 

  uint32_t DataTimeSeg1;                 
 

  uint32_t DataTimeSeg2;                 
 

  uint32_t StdFiltersNbr;                
 

  uint32_t ExtFiltersNbr;                
 

  uint32_t TxFifoQueueMode;              
 

} FDCAN_InitTypeDef;



 
typedef struct
{
  uint32_t IdType;           
 

  uint32_t FilterIndex;      


 

  uint32_t FilterType;       


 

  uint32_t FilterConfig;     
 

  uint32_t FilterID1;        


 

  uint32_t FilterID2;        


 

} FDCAN_FilterTypeDef;



 
typedef struct
{
  uint32_t Identifier;          


 

  uint32_t IdType;              

 

  uint32_t TxFrameType;         
 

  uint32_t DataLength;          
 

  uint32_t ErrorStateIndicator; 
 

  uint32_t BitRateSwitch;       

 

  uint32_t FDFormat;            

 

  uint32_t TxEventFifoControl;  
 

  uint32_t MessageMarker;       

 

} FDCAN_TxHeaderTypeDef;



 
typedef struct
{
  uint32_t Identifier;            


 

  uint32_t IdType;                
 

  uint32_t RxFrameType;           
 

  uint32_t DataLength;            
 

  uint32_t ErrorStateIndicator;   
 

  uint32_t BitRateSwitch;         

 

  uint32_t FDFormat;              

 

  uint32_t RxTimestamp;           

 

  uint32_t FilterIndex;           


 

  uint32_t IsFilterMatchingFrame; 


 

} FDCAN_RxHeaderTypeDef;



 
typedef struct
{
  uint32_t Identifier;          


 

  uint32_t IdType;              
 

  uint32_t TxFrameType;         
 

  uint32_t DataLength;          
 

  uint32_t ErrorStateIndicator; 
 

  uint32_t BitRateSwitch;       

 

  uint32_t FDFormat;            

 

  uint32_t TxTimestamp;         

 

  uint32_t MessageMarker;       

 

  uint32_t EventType;           
 

} FDCAN_TxEventFifoTypeDef;



 
typedef struct
{
  uint32_t FilterList;     


 

  uint32_t FilterIndex;    


 

  uint32_t MessageStorage; 
 

  uint32_t MessageIndex;   




 

} FDCAN_HpMsgStatusTypeDef;



 
typedef struct
{
  uint32_t LastErrorCode;     
 

  uint32_t DataLastErrorCode; 

 

  uint32_t Activity;          
 

  uint32_t ErrorPassive;      


 

  uint32_t Warning;           



 

  uint32_t BusOff;            


 

  uint32_t RxESIflag;         


 

  uint32_t RxBRSflag;         


 

  uint32_t RxFDFflag;         


 

  uint32_t ProtocolException; 


 

  uint32_t TDCvalue;          
 

} FDCAN_ProtocolStatusTypeDef;



 
typedef struct
{
  uint32_t TxErrorCnt;     
 

  uint32_t RxErrorCnt;     
 

  uint32_t RxErrorPassive; 



 

  uint32_t ErrorLogging;   



 

} FDCAN_ErrorCountersTypeDef;



 
typedef struct
{
  uint32_t StandardFilterSA; 
 

  uint32_t ExtendedFilterSA; 
 

  uint32_t RxFIFO0SA;        
 

  uint32_t RxFIFO1SA;        
 

  uint32_t TxEventFIFOSA;    
 

  uint32_t TxFIFOQSA;        
 

} FDCAN_MsgRamAddressTypeDef;



 



typedef struct

{
  FDCAN_GlobalTypeDef         *Instance;         

  FDCAN_InitTypeDef           Init;              

  FDCAN_MsgRamAddressTypeDef  msgRam;            

  uint32_t                    LatestTxFifoQRequest; 
 

  volatile HAL_FDCAN_StateTypeDef State;             

  HAL_LockTypeDef             Lock;              

  volatile uint32_t               ErrorCode;         

#line 459 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"

} FDCAN_HandleTypeDef;

#line 491 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"



 

 


 



 
#line 520 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"






 



 





 



 







 



 
#line 569 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 




 



 




 



 




 



 
#line 619 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 




 



 




 



 




 



 




 



 






 



 
#line 680 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 





 



 




 



 




 



 






 



 
#line 734 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 






 



 




 



 





 



 




 



 




 



 




 



 
#line 814 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 






 



 




 



 
#line 865 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 



 





 



 



 



 




 



 





 



 





 



 





 



 
#line 939 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 





 



 



 
#line 984 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 
#line 1022 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 

 


 




 
#line 1048 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"







 









 









 








 









 








 








 




 

 


 



 
 
HAL_StatusTypeDef HAL_FDCAN_Init(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_DeInit(FDCAN_HandleTypeDef *hfdcan);
void              HAL_FDCAN_MspInit(FDCAN_HandleTypeDef *hfdcan);
void              HAL_FDCAN_MspDeInit(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_EnterPowerDownMode(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ExitPowerDownMode(FDCAN_HandleTypeDef *hfdcan);

#line 1159 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 



 
 
HAL_StatusTypeDef HAL_FDCAN_ConfigFilter(FDCAN_HandleTypeDef *hfdcan, FDCAN_FilterTypeDef *sFilterConfig);
HAL_StatusTypeDef HAL_FDCAN_ConfigGlobalFilter(FDCAN_HandleTypeDef *hfdcan, uint32_t NonMatchingStd,
                                               uint32_t NonMatchingExt, uint32_t RejectRemoteStd,
                                               uint32_t RejectRemoteExt);
HAL_StatusTypeDef HAL_FDCAN_ConfigExtendedIdMask(FDCAN_HandleTypeDef *hfdcan, uint32_t Mask);
HAL_StatusTypeDef HAL_FDCAN_ConfigRxFifoOverwrite(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo, uint32_t OperationMode);
HAL_StatusTypeDef HAL_FDCAN_ConfigRamWatchdog(FDCAN_HandleTypeDef *hfdcan, uint32_t CounterStartValue);
HAL_StatusTypeDef HAL_FDCAN_ConfigTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampPrescaler);
HAL_StatusTypeDef HAL_FDCAN_EnableTimestampCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimestampOperation);
HAL_StatusTypeDef HAL_FDCAN_DisableTimestampCounter(FDCAN_HandleTypeDef *hfdcan);
uint16_t          HAL_FDCAN_GetTimestampCounter(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ResetTimestampCounter(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ConfigTimeoutCounter(FDCAN_HandleTypeDef *hfdcan, uint32_t TimeoutOperation,
                                                 uint32_t TimeoutPeriod);
HAL_StatusTypeDef HAL_FDCAN_EnableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_DisableTimeoutCounter(FDCAN_HandleTypeDef *hfdcan);
uint16_t          HAL_FDCAN_GetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ResetTimeoutCounter(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ConfigTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan, uint32_t TdcOffset,
                                                      uint32_t TdcFilter);
HAL_StatusTypeDef HAL_FDCAN_EnableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_DisableTxDelayCompensation(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_EnableISOMode(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_DisableISOMode(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_EnableEdgeFiltering(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_DisableEdgeFiltering(FDCAN_HandleTypeDef *hfdcan);


 



 
 
HAL_StatusTypeDef HAL_FDCAN_Start(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_Stop(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_AddMessageToTxFifoQ(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxHeaderTypeDef *pTxHeader,
                                                uint8_t *pTxData);
uint32_t HAL_FDCAN_GetLatestTxFifoQRequestBuffer(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_AbortTxRequest(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndex);
HAL_StatusTypeDef HAL_FDCAN_GetRxMessage(FDCAN_HandleTypeDef *hfdcan, uint32_t RxLocation,
                                         FDCAN_RxHeaderTypeDef *pRxHeader, uint8_t *pRxData);
HAL_StatusTypeDef HAL_FDCAN_GetTxEvent(FDCAN_HandleTypeDef *hfdcan, FDCAN_TxEventFifoTypeDef *pTxEvent);
HAL_StatusTypeDef HAL_FDCAN_GetHighPriorityMessageStatus(FDCAN_HandleTypeDef *hfdcan,
                                                         FDCAN_HpMsgStatusTypeDef *HpMsgStatus);
HAL_StatusTypeDef HAL_FDCAN_GetProtocolStatus(FDCAN_HandleTypeDef *hfdcan, FDCAN_ProtocolStatusTypeDef *ProtocolStatus);
HAL_StatusTypeDef HAL_FDCAN_GetErrorCounters(FDCAN_HandleTypeDef *hfdcan, FDCAN_ErrorCountersTypeDef *ErrorCounters);
uint32_t HAL_FDCAN_IsTxBufferMessagePending(FDCAN_HandleTypeDef *hfdcan, uint32_t TxBufferIndex);
uint32_t HAL_FDCAN_GetRxFifoFillLevel(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo);
uint32_t HAL_FDCAN_GetTxFifoFreeLevel(FDCAN_HandleTypeDef *hfdcan);
uint32_t HAL_FDCAN_IsRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan);
HAL_StatusTypeDef HAL_FDCAN_ExitRestrictedOperationMode(FDCAN_HandleTypeDef *hfdcan);


 



 
 
HAL_StatusTypeDef HAL_FDCAN_ConfigInterruptLines(FDCAN_HandleTypeDef *hfdcan, uint32_t ITList, uint32_t InterruptLine);
HAL_StatusTypeDef HAL_FDCAN_ActivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t ActiveITs,
                                                 uint32_t BufferIndexes);
HAL_StatusTypeDef HAL_FDCAN_DeactivateNotification(FDCAN_HandleTypeDef *hfdcan, uint32_t InactiveITs);
void              HAL_FDCAN_IRQHandler(FDCAN_HandleTypeDef *hfdcan);


 



 
 
void HAL_FDCAN_TxEventFifoCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t TxEventFifoITs);
void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo0ITs);
void HAL_FDCAN_RxFifo1Callback(FDCAN_HandleTypeDef *hfdcan, uint32_t RxFifo1ITs);
void HAL_FDCAN_TxFifoEmptyCallback(FDCAN_HandleTypeDef *hfdcan);
void HAL_FDCAN_TxBufferCompleteCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes);
void HAL_FDCAN_TxBufferAbortCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t BufferIndexes);
void HAL_FDCAN_HighPriorityMessageCallback(FDCAN_HandleTypeDef *hfdcan);
void HAL_FDCAN_TimestampWraparoundCallback(FDCAN_HandleTypeDef *hfdcan);
void HAL_FDCAN_TimeoutOccurredCallback(FDCAN_HandleTypeDef *hfdcan);
void HAL_FDCAN_ErrorCallback(FDCAN_HandleTypeDef *hfdcan);
void HAL_FDCAN_ErrorStatusCallback(FDCAN_HandleTypeDef *hfdcan, uint32_t ErrorStatusITs);


 



 
 
uint32_t HAL_FDCAN_GetError(FDCAN_HandleTypeDef *hfdcan);
HAL_FDCAN_StateTypeDef HAL_FDCAN_GetState(FDCAN_HandleTypeDef *hfdcan);


 



 

 
 


 



 

 


 



 

 


 
#line 1409 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_fdcan.h"


 

 
 



 



 






#line 257 "../Core/Inc/stm32g4xx_hal_conf.h"


#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"















 

 







 
#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"



 



 

 


 



 
typedef struct
{
  uint32_t TypeErase;   
 
  uint32_t Banks;       

 
  uint32_t Page;        

 
  uint32_t NbPages;     
 
} FLASH_EraseInitTypeDef;



 
typedef struct
{
  uint32_t OptionType;     
 
  uint32_t WRPArea;        

 
  uint32_t WRPStartOffset; 
 
  uint32_t WRPEndOffset;   
 
  uint32_t RDPLevel;       
 
  uint32_t USERType;       
 
  uint32_t USERConfig;     







 
  uint32_t PCROPConfig;    

 
  uint32_t PCROPStartAddr; 

 
  uint32_t PCROPEndAddr;   
 
  uint32_t BootEntryPoint; 
 
  uint32_t SecBank;        




 
  uint32_t SecSize;        


 
} FLASH_OBProgramInitTypeDef;



 
typedef enum
{
  FLASH_PROC_NONE = 0,
  FLASH_PROC_PAGE_ERASE,
  FLASH_PROC_MASS_ERASE,
  FLASH_PROC_PROGRAM,
  FLASH_PROC_PROGRAM_LAST
} FLASH_ProcedureTypeDef;



 
typedef enum
{
  FLASH_CACHE_DISABLED = 0,
  FLASH_CACHE_ICACHE_ENABLED,
  FLASH_CACHE_DCACHE_ENABLED,
  FLASH_CACHE_ICACHE_DCACHE_ENABLED
} FLASH_CacheTypeDef;



 
typedef struct
{
  HAL_LockTypeDef             Lock;               
  volatile uint32_t               ErrorCode;          
  volatile FLASH_ProcedureTypeDef ProcedureOnGoing;   
  volatile uint32_t               Address;            
  volatile uint32_t               Bank;               
  volatile uint32_t               Page;               
  volatile uint32_t               NbPagesToErase;     
  volatile FLASH_CacheTypeDef     CacheToReactivate;  
} FLASH_ProcessTypeDef;



 

 


 



 
#line 175 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 




 



 
#line 198 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 




 







 



 
#line 224 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 
#line 237 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 




 



 






 



 
#line 286 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 







 



 




 



 




 



 




 



 




 



 




 



 




 



 




 




 




 



 




 


#line 395 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"



 




 



 




 



 




 



 




 



 




 



 





 



 




 



 






 



 
#line 490 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 













 



 
#line 533 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"

#line 544 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 




 






 



 

 



 






















 






















 





 





 





 





 





 





 






 








 








 









 








 





 




 




 










 













 


























 



























 





 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h"















 

 







 
#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ex.h"



 



 

 

 

 

 


 

 


 
HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError);
HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit);
HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit);
void              HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit);
HAL_StatusTypeDef HAL_FLASHEx_EnableSecMemProtection(uint32_t Bank);
void              HAL_FLASHEx_EnableDebugger(void);
void              HAL_FLASHEx_DisableDebugger(void);


 



 



 
void              FLASH_PageErase(uint32_t Page, uint32_t Banks);
void              FLASH_FlushCaches(void);


 



 



 







#line 800 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h"















 

 







 
#line 28 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash_ramfunc.h"



 



 

 
 
 


 



 
 
 HAL_StatusTypeDef HAL_FLASHEx_EnableRunPowerDown(void);
 HAL_StatusTypeDef HAL_FLASHEx_DisableRunPowerDown(void);

 HAL_StatusTypeDef HAL_FLASHEx_OB_DBankConfig(uint32_t DBankConfig);



 



 



 



 







#line 801 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"

 


 
extern FLASH_ProcessTypeDef pFlash;


 

 


 

 


 
HAL_StatusTypeDef  HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data);
HAL_StatusTypeDef  HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data);
 
void               HAL_FLASH_IRQHandler(void);
 
void               HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue);
void               HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue);


 

 


 
HAL_StatusTypeDef  HAL_FLASH_Unlock(void);
HAL_StatusTypeDef  HAL_FLASH_Lock(void);
 
HAL_StatusTypeDef  HAL_FLASH_OB_Unlock(void);
HAL_StatusTypeDef  HAL_FLASH_OB_Lock(void);
HAL_StatusTypeDef  HAL_FLASH_OB_Launch(void);


 

 


 
uint32_t HAL_FLASH_GetError(void);


 



 



 
HAL_StatusTypeDef  FLASH_WaitForLastOperation(uint32_t Timeout);


 

 


 


#line 885 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"







 

 


 









#line 914 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
















#line 936 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
























































#line 1000 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"


 



 



 







#line 261 "../Core/Inc/stm32g4xx_hal_conf.h"














































#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"



 



 

 



 



 
typedef struct
{
  uint32_t PVDLevel;   
 

  uint32_t Mode;      
 
}PWR_PVDTypeDef;




 

 



 




 
#line 79 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"


 



 
#line 93 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"


 






 




 



 




 



 




 




 



 



 



 



 

 


 








































 





















 






 





 





 





 





 





 





 






 






 









 









 





 





 




 


 


 






#line 328 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"










 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"



 



 


 



 




 
typedef struct
{
  uint32_t PVMType;   
 
  uint32_t Mode;      
 
}PWR_PVMTypeDef;



 

 



 



 



 




 
#line 94 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 
#line 109 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 
#line 123 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 





 







 




 




 



 




 



 
#line 179 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 
#line 193 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 
#line 208 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 
#line 223 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 










 
#line 245 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"

#line 258 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"


 



 

 


 





 





 





 





 





 





 





 






 






 









 









 





 





 









 





 





 





 





 





 





 






 






 









 









 





 





 








 





 





 





 





 





 





 






 






 









 









 





 





 








 





 





 





 





 





 





 






 






 









 









 





 





 





















 
#line 661 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"



 

 


 

#line 686 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"






#line 699 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"

#line 708 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"








#line 724 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"




 




 



 


 
uint32_t HAL_PWREx_GetVoltageRange(void);
HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling);
void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorSelection);
void HAL_PWREx_DisableBatteryCharging(void);
void HAL_PWREx_EnableInternalWakeUpLine(void);
void HAL_PWREx_DisableInternalWakeUpLine(void);
HAL_StatusTypeDef HAL_PWREx_EnableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber);
HAL_StatusTypeDef HAL_PWREx_DisableGPIOPullUp(uint32_t GPIO, uint32_t GPIONumber);
HAL_StatusTypeDef HAL_PWREx_EnableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber);
HAL_StatusTypeDef HAL_PWREx_DisableGPIOPullDown(uint32_t GPIO, uint32_t GPIONumber);
void HAL_PWREx_EnablePullUpPullDownConfig(void);
void HAL_PWREx_DisablePullUpPullDownConfig(void);
void HAL_PWREx_EnableSRAM2ContentRetention(void);
void HAL_PWREx_DisableSRAM2ContentRetention(void);

void HAL_PWREx_EnablePVM1(void);
void HAL_PWREx_DisablePVM1(void);


void HAL_PWREx_EnablePVM2(void);
void HAL_PWREx_DisablePVM2(void);

void HAL_PWREx_EnablePVM3(void);
void HAL_PWREx_DisablePVM3(void);
void HAL_PWREx_EnablePVM4(void);
void HAL_PWREx_DisablePVM4(void);
HAL_StatusTypeDef HAL_PWREx_ConfigPVM(PWR_PVMTypeDef *sConfigPVM);

 
void HAL_PWREx_EnableLowPowerRunMode(void);
HAL_StatusTypeDef HAL_PWREx_DisableLowPowerRunMode(void);
void HAL_PWREx_EnterSTOP0Mode(uint8_t STOPEntry);
void HAL_PWREx_EnterSTOP1Mode(uint8_t STOPEntry);
void HAL_PWREx_EnterSHUTDOWNMode(void);

void HAL_PWREx_PVD_PVM_IRQHandler(void);

void HAL_PWREx_PVM1Callback(void);


void HAL_PWREx_PVM2Callback(void);

void HAL_PWREx_PVM3Callback(void);
void HAL_PWREx_PVM4Callback(void);


void HAL_PWREx_EnableUCPDStandbyMode(void);
void HAL_PWREx_DisableUCPDStandbyMode(void);


void HAL_PWREx_EnableUCPDDeadBattery(void);
void HAL_PWREx_DisableUCPDDeadBattery(void);




 



 



 



 








#line 342 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr.h"

 



 



 

 
void HAL_PWR_DeInit(void);
void HAL_PWR_EnableBkUpAccess(void);
void HAL_PWR_DisableBkUpAccess(void);



 



 

 
HAL_StatusTypeDef HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD);
void HAL_PWR_EnablePVD(void);
void HAL_PWR_DisablePVD(void);


 
void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity);
void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx);

 
void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry);
void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry);
void HAL_PWR_EnterSTANDBYMode(void);

void HAL_PWR_EnableSleepOnExit(void);
void HAL_PWR_DisableSleepOnExit(void);
void HAL_PWR_EnableSEVOnPend(void);
void HAL_PWR_DisableSEVOnPend(void);

void HAL_PWR_PVDCallback(void);




 



 



 



 








#line 309 "../Core/Inc/stm32g4xx_hal_conf.h"


































#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"



 



 

 


 



 
typedef struct
{
  uint32_t Prescaler;         

 

  uint32_t CounterMode;       
 

  uint32_t Period;            




 

  uint32_t ClockDivision;     
 

  uint32_t RepetitionCounter;  








 

  uint32_t AutoReloadPreload;  
 
} TIM_Base_InitTypeDef;



 
typedef struct
{
  uint32_t OCMode;        
 

  uint32_t Pulse;         



 

  uint32_t OCPolarity;    
 

  uint32_t OCNPolarity;   

 

  uint32_t OCFastMode;    

 


  uint32_t OCIdleState;   

 

  uint32_t OCNIdleState;  

 
} TIM_OC_InitTypeDef;



 
typedef struct
{
  uint32_t OCMode;        
 

  uint32_t Pulse;         



 

  uint32_t OCPolarity;    
 

  uint32_t OCNPolarity;   

 

  uint32_t OCIdleState;   

 

  uint32_t OCNIdleState;  

 

  uint32_t ICPolarity;    
 

  uint32_t ICSelection;   
 

  uint32_t ICFilter;      
 
} TIM_OnePulse_InitTypeDef;



 
typedef struct
{
  uint32_t  ICPolarity;  
 

  uint32_t ICSelection;  
 

  uint32_t ICPrescaler;  
 

  uint32_t ICFilter;     
 
} TIM_IC_InitTypeDef;



 
typedef struct
{
  uint32_t EncoderMode;   
 

  uint32_t IC1Polarity;   
 

  uint32_t IC1Selection;  
 

  uint32_t IC1Prescaler;  
 

  uint32_t IC1Filter;     
 

  uint32_t IC2Polarity;   
 

  uint32_t IC2Selection;  
 

  uint32_t IC2Prescaler;  
 

  uint32_t IC2Filter;     
 
} TIM_Encoder_InitTypeDef;



 
typedef struct
{
  uint32_t ClockSource;     
 
  uint32_t ClockPolarity;   
 
  uint32_t ClockPrescaler;  
 
  uint32_t ClockFilter;     
 
} TIM_ClockConfigTypeDef;



 
typedef struct
{
  uint32_t ClearInputState;      
 
  uint32_t ClearInputSource;     
 
  uint32_t ClearInputPolarity;   
 
  uint32_t ClearInputPrescaler;  

 
  uint32_t ClearInputFilter;     
 
} TIM_ClearInputConfigTypeDef;





 
typedef struct
{
  uint32_t  MasterOutputTrigger;   
 
  uint32_t  MasterOutputTrigger2;  
 
  uint32_t  MasterSlaveMode;       





 
} TIM_MasterConfigTypeDef;



 
typedef struct
{
  uint32_t  SlaveMode;         
 
  uint32_t  InputTrigger;      
 
  uint32_t  TriggerPolarity;   
 
  uint32_t  TriggerPrescaler;  
 
  uint32_t  TriggerFilter;     
 

} TIM_SlaveConfigTypeDef;





 
typedef struct
{
  uint32_t OffStateRunMode;       

  uint32_t OffStateIDLEMode;      

  uint32_t LockLevel;             

  uint32_t DeadTime;              

  uint32_t BreakState;            

  uint32_t BreakPolarity;         

  uint32_t BreakFilter;           

  uint32_t BreakAFMode;           

  uint32_t Break2State;           

  uint32_t Break2Polarity;        

  uint32_t Break2Filter;          

  uint32_t Break2AFMode;          

  uint32_t AutomaticOutput;       

} TIM_BreakDeadTimeConfigTypeDef;



 
typedef enum
{
  HAL_TIM_STATE_RESET             = 0x00U,     
  HAL_TIM_STATE_READY             = 0x01U,     
  HAL_TIM_STATE_BUSY              = 0x02U,     
  HAL_TIM_STATE_TIMEOUT           = 0x03U,     
  HAL_TIM_STATE_ERROR             = 0x04U      
} HAL_TIM_StateTypeDef;



 
typedef enum
{
  HAL_TIM_CHANNEL_STATE_RESET             = 0x00U,     
  HAL_TIM_CHANNEL_STATE_READY             = 0x01U,     
  HAL_TIM_CHANNEL_STATE_BUSY              = 0x02U,     
} HAL_TIM_ChannelStateTypeDef;



 
typedef enum
{
  HAL_DMA_BURST_STATE_RESET             = 0x00U,     
  HAL_DMA_BURST_STATE_READY             = 0x01U,     
  HAL_DMA_BURST_STATE_BUSY              = 0x02U,     
} HAL_TIM_DMABurstStateTypeDef;



 
typedef enum
{
  HAL_TIM_ACTIVE_CHANNEL_1        = 0x01U,     
  HAL_TIM_ACTIVE_CHANNEL_2        = 0x02U,     
  HAL_TIM_ACTIVE_CHANNEL_3        = 0x04U,     
  HAL_TIM_ACTIVE_CHANNEL_4        = 0x08U,     
  HAL_TIM_ACTIVE_CHANNEL_5        = 0x10U,     
  HAL_TIM_ACTIVE_CHANNEL_6        = 0x20U,     
  HAL_TIM_ACTIVE_CHANNEL_CLEARED  = 0x00U      
} HAL_TIM_ActiveChannel;



 



typedef struct

{
  TIM_TypeDef                        *Instance;          
  TIM_Base_InitTypeDef               Init;               
  HAL_TIM_ActiveChannel              Channel;            
  DMA_HandleTypeDef                  *hdma[7];          
 
  HAL_LockTypeDef                    Lock;               
  volatile HAL_TIM_StateTypeDef          State;              
  volatile HAL_TIM_ChannelStateTypeDef   ChannelState[6];    
  volatile HAL_TIM_ChannelStateTypeDef   ChannelNState[4];   
  volatile HAL_TIM_DMABurstStateTypeDef  DMABurstState;      

#line 411 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"
} TIM_HandleTypeDef;

#line 460 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"



 
 

 


 



 
#line 489 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 523 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 539 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 





 



 




 



 






 



 







 



 




 



 





 



 




 



 





 



 




 



 




 



 




 



 




 



 




 



 




 



 





 



 




 



 





 



 






 



 




 



 
#line 738 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 757 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 




 



 
#line 780 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 807 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 821 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 850 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 







 



 






 



 




 



 






 



 




 



 




 


 






 



 




 



 




 



 




 



 




 



 




 



 




 



 




 



 






 



 
#line 1011 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 1034 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 




 



 
#line 1057 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 1080 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 1108 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 







 



 






 



 




 



 
#line 1173 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 
#line 1187 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"


 



 






 



 






 



 
 

 


 




 
#line 1272 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"





 






 






 
#line 1302 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"







 
#line 1320 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"






 



















 



















 














 














 



























 



























 




















 




















 









 







 







 








 







 










 






 







 










 











 
#line 1593 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"








 



















 




















 



















 
#line 1670 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"













 
#line 1691 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"













 
#line 1712 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"













 
#line 1733 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

















 
#line 1758 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

















 
#line 1783 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"








 












 
















 








 
 

 


 

 




 
 

 


 
#line 1868 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 1896 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"





















































#line 1958 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"



#line 1968 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"









#line 2047 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"































































#line 2119 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 2137 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"




#line 2148 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 2155 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 2166 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"



#line 2219 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

















#line 2262 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"







































#line 2308 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 2316 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

#line 2331 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"













#line 2354 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"



 
 

 
#line 1 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"
















 

 







 
#line 29 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"



 



 

 


 



 

typedef struct
{
  uint32_t IC1Polarity;         
 

  uint32_t IC1Prescaler;        
 

  uint32_t IC1Filter;           
 

  uint32_t Commutation_Delay;   
 
} TIM_HallSensor_InitTypeDef;



 
typedef struct
{
  uint32_t Source;         
 
  uint32_t Enable;         
 
  uint32_t Polarity;       
 
} TIMEx_BreakInputConfigTypeDef;



 
typedef struct
{
  uint32_t Polarity;                   

  uint32_t Prescaler;                  

  uint32_t Filter;                     

  FunctionalState  FirstIndexEnable;   

  uint32_t Position;                   

  uint32_t Direction;                  

} TIMEx_EncoderIndexConfigTypeDef;



 
 

 


 



 
#line 129 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 150 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 170 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 189 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 208 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 231 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 256 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


 



 




 



 
#line 286 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


 



 




 



 




 



 







#line 326 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 335 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"









#line 358 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 373 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"





#line 392 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 407 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"












#line 437 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 453 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"









#line 472 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 482 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


#line 493 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


#line 504 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


#line 513 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


 



 




 



 
#line 535 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


 



 





 



 




 



 






 



 
 

 


 







 










 












 












 













 













 














 






 
 

 


 





#line 693 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"


#line 705 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"









#line 858 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 987 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 1093 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"

#line 1911 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"
























#line 1941 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"







 
 

 


 




 
 
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM_HallSensor_InitTypeDef *sConfig);
HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim);

void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim);

 
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim);


 




 
 
 
HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);

 
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);

 
HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
 
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);

 
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
 
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel);

 
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);


 




 
 
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent(TIM_HandleTypeDef *htim, uint32_t  InputTrigger,
                                              uint32_t  CommutationSource);
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_IT(TIM_HandleTypeDef *htim, uint32_t  InputTrigger,
                                                 uint32_t  CommutationSource);
HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_DMA(TIM_HandleTypeDef *htim, uint32_t  InputTrigger,
                                                  uint32_t  CommutationSource);
HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim,
                                                        TIM_MasterConfigTypeDef *sMasterConfig);
HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim,
                                                TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
HAL_StatusTypeDef HAL_TIMEx_ConfigBreakInput(TIM_HandleTypeDef *htim, uint32_t BreakInput,
                                             TIMEx_BreakInputConfigTypeDef *sBreakInputConfig);
HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t Channels);
HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap);
HAL_StatusTypeDef  HAL_TIMEx_TISelection(TIM_HandleTypeDef *htim, uint32_t TISelection, uint32_t Channel);

HAL_StatusTypeDef HAL_TIMEx_DisarmBreakInput(TIM_HandleTypeDef *htim, uint32_t BreakInput);
HAL_StatusTypeDef HAL_TIMEx_ReArmBreakInput(TIM_HandleTypeDef *htim, uint32_t BreakInput);
HAL_StatusTypeDef HAL_TIMEx_DitheringEnable(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DitheringDisable(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_OC_ConfigPulseOnCompare(TIM_HandleTypeDef *htim, uint32_t PulseWidthPrescaler,
                                                    uint32_t PulseWidth);
HAL_StatusTypeDef HAL_TIMEx_ConfigSlaveModePreload(TIM_HandleTypeDef *htim, uint32_t Source);
HAL_StatusTypeDef HAL_TIMEx_EnableSlaveModePreload(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DisableSlaveModePreload(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_EnableDeadTimePreload(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DisableDeadTimePreload(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_ConfigDeadTime(TIM_HandleTypeDef *htim, uint32_t Deadtime);
HAL_StatusTypeDef HAL_TIMEx_ConfigAsymmetricalDeadTime(TIM_HandleTypeDef *htim, uint32_t FallingDeadtime);
HAL_StatusTypeDef HAL_TIMEx_EnableAsymmetricalDeadTime(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DisableAsymmetricalDeadTime(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_ConfigEncoderIndex(TIM_HandleTypeDef *htim,
                                               TIMEx_EncoderIndexConfigTypeDef *sEncoderIndexConfig);
HAL_StatusTypeDef HAL_TIMEx_EnableEncoderIndex(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DisableEncoderIndex(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_EnableEncoderFirstIndex(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIMEx_DisableEncoderFirstIndex(TIM_HandleTypeDef *htim);


 




 
 
void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_CommutHalfCpltCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_EncoderIndexCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_DirectionChangeCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_IndexErrorCallback(TIM_HandleTypeDef *htim);
void HAL_TIMEx_TransitionErrorCallback(TIM_HandleTypeDef *htim);


 




 
 
HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_ChannelStateTypeDef HAL_TIMEx_GetChannelNState(TIM_HandleTypeDef *htim,  uint32_t ChannelN);


 



 
 

 


 
void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma);
void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma);


 
 



 



 






#line 2362 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"

 


 




 
 
HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim);


 




 
 
HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim);
HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode);
HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
 
HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);


 




 
 
HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim,  TIM_Encoder_InitTypeDef *sConfig);
HAL_StatusTypeDef HAL_TIM_Encoder_DeInit(TIM_HandleTypeDef *htim);
void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim);
void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef *htim);
 
HAL_StatusTypeDef HAL_TIM_Encoder_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_Encoder_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
 
HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData1,
                                            uint32_t *pData2, uint16_t Length);
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim);


 




 
 
HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfig, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfig, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_IC_InitTypeDef *sConfig, uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OnePulse_InitTypeDef *sConfig,
                                                 uint32_t OutputChannel,  uint32_t InputChannel);
HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear(TIM_HandleTypeDef *htim, TIM_ClearInputConfigTypeDef *sClearInputConfig,
                                           uint32_t Channel);
HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig);
HAL_StatusTypeDef HAL_TIM_ConfigTI1Input(TIM_HandleTypeDef *htim, uint32_t TI1_Selection);
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro(TIM_HandleTypeDef *htim, TIM_SlaveConfigTypeDef *sSlaveConfig);
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro_IT(TIM_HandleTypeDef *htim, TIM_SlaveConfigTypeDef *sSlaveConfig);
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress,
                                              uint32_t BurstRequestSrc, uint32_t  *BurstBuffer, uint32_t  BurstLength);
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiWriteStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress,
                                                   uint32_t BurstRequestSrc, uint32_t *BurstBuffer,
                                                   uint32_t BurstLength,  uint32_t DataLength);
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc);
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress,
                                             uint32_t BurstRequestSrc, uint32_t  *BurstBuffer, uint32_t  BurstLength);
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiReadStart(TIM_HandleTypeDef *htim, uint32_t BurstBaseAddress,
                                                  uint32_t BurstRequestSrc, uint32_t  *BurstBuffer,
                                                  uint32_t  BurstLength, uint32_t  DataLength);
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop(TIM_HandleTypeDef *htim, uint32_t BurstRequestSrc);
HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource);
uint32_t HAL_TIM_ReadCapturedValue(TIM_HandleTypeDef *htim, uint32_t Channel);


 




 
 
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_PeriodElapsedHalfCpltCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_IC_CaptureHalfCpltCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_PWM_PulseFinishedHalfCpltCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_TriggerHalfCpltCallback(TIM_HandleTypeDef *htim);
void HAL_TIM_ErrorCallback(TIM_HandleTypeDef *htim);

 








 




 
 
HAL_TIM_StateTypeDef HAL_TIM_Base_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_StateTypeDef HAL_TIM_OC_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_StateTypeDef HAL_TIM_IC_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState(TIM_HandleTypeDef *htim);
HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState(TIM_HandleTypeDef *htim);

 
HAL_TIM_ActiveChannel HAL_TIM_GetActiveChannel(TIM_HandleTypeDef *htim);
HAL_TIM_ChannelStateTypeDef HAL_TIM_GetChannelState(TIM_HandleTypeDef *htim,  uint32_t Channel);
HAL_TIM_DMABurstStateTypeDef HAL_TIM_DMABurstState(TIM_HandleTypeDef *htim);


 



 
 

 


 
void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure);
void TIM_TI1_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICSelection, uint32_t TIM_ICFilter);
void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config);
void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler,
                       uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter);

void TIM_DMADelayPulseHalfCplt(DMA_HandleTypeDef *hdma);
void TIM_DMAError(DMA_HandleTypeDef *hdma);
void TIM_DMACaptureCplt(DMA_HandleTypeDef *hdma);
void TIM_DMACaptureHalfCplt(DMA_HandleTypeDef *hdma);
void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState);







 
 



 



 





#line 345 "../Core/Inc/stm32g4xx_hal_conf.h"














 
#line 375 "../Core/Inc/stm32g4xx_hal_conf.h"





#line 30 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"



 



 

 
 



 



 







 



 



 















 



 
#line 91 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"



 



 
#line 131 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"



 




 






 



 





 




 






 



 


 
#line 184 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"



 



 



 

 



 


 











































































































 



 


 



 



 




 





 













 






 
 







 






 




 











 





 





 





 








 




 








 










 

 


 

#line 457 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"























#line 497 "../Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"


 



 





 

 



 



 
 
HAL_StatusTypeDef HAL_Init(void);
HAL_StatusTypeDef HAL_DeInit(void);
void HAL_MspInit(void);
void HAL_MspDeInit(void);
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority);



 



 

 
void HAL_IncTick(void);
void HAL_Delay(uint32_t Delay);
uint32_t HAL_GetTick(void);
uint32_t HAL_GetTickPrio(void);
HAL_StatusTypeDef HAL_SetTickFreq(uint32_t Freq);
uint32_t HAL_GetTickFreq(void);
void HAL_SuspendTick(void);
void HAL_ResumeTick(void);
uint32_t HAL_GetHalVersion(void);
uint32_t HAL_GetREVID(void);
uint32_t HAL_GetDEVID(void);



 



 

 
void HAL_DBGMCU_EnableDBGSleepMode(void);
void HAL_DBGMCU_DisableDBGSleepMode(void);
void HAL_DBGMCU_EnableDBGStopMode(void);
void HAL_DBGMCU_DisableDBGStopMode(void);
void HAL_DBGMCU_EnableDBGStandbyMode(void);
void HAL_DBGMCU_DisableDBGStandbyMode(void);



 

 


 
extern volatile uint32_t uwTick;
extern uint32_t uwTickPrio;
extern uint32_t uwTickFreq;


 



 

 
void HAL_SYSCFG_CCMSRAMErase(void);
void HAL_SYSCFG_EnableMemorySwappingBank(void);
void HAL_SYSCFG_DisableMemorySwappingBank(void);


void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling);
void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode);
void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue);
HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void);
void HAL_SYSCFG_DisableVREFBUF(void);


void HAL_SYSCFG_EnableIOSwitchBooster(void);
void HAL_SYSCFG_DisableIOSwitchBooster(void);
void HAL_SYSCFG_EnableIOSwitchVDD(void);
void HAL_SYSCFG_DisableIOSwitchVDD(void);

void HAL_SYSCFG_CCMSRAM_WriteProtectionEnable(uint32_t Page);



 



 



 



 







#line 22 "../Core/Src/stm32g4xx_hal_timebase_tim.c"
#line 23 "../Core/Src/stm32g4xx_hal_timebase_tim.c"

 
 
 
 
TIM_HandleTypeDef        htim20;
 
 









 
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
{
  RCC_ClkInitTypeDef    clkconfig;
  uint32_t              uwTimclock = 0;
  uint32_t              uwPrescalerValue = 0;
  uint32_t              pFLatency;
  HAL_StatusTypeDef     status = HAL_OK;

   
  do { volatile uint32_t tmpreg; ((((RCC_TypeDef *) (((0x40000000UL) + 0x00020000UL) + 0x1000UL))->APB2ENR) |= ((0x1UL << (20U)))); tmpreg = ((((RCC_TypeDef *) (((0x40000000UL) + 0x00020000UL) + 0x1000UL))->APB2ENR) & ((0x1UL << (20U)))); (void)tmpreg; } while(0);

   
  HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);

   
  uwTimclock = HAL_RCC_GetPCLK2Freq();
   
  uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U);

   
  htim20.Instance = ((TIM_TypeDef *) (((0x40000000UL) + 0x00010000UL) + 0x5000UL));

  




 
  htim20.Init.Period = (1000000U / 1000U) - 1U;
  htim20.Init.Prescaler = uwPrescalerValue;
  htim20.Init.ClockDivision = 0;
  htim20.Init.CounterMode = 0x00000000U;

  status = HAL_TIM_Base_Init(&htim20);
  if (status == HAL_OK)
  {
     
    status = HAL_TIM_Base_Start_IT(&htim20);
    if (status == HAL_OK)
    {
     
        HAL_NVIC_EnableIRQ(TIM20_UP_IRQn);
       
      if (TickPriority < (1UL << 4U))
      {
         
        HAL_NVIC_SetPriority(TIM20_UP_IRQn, TickPriority, 0U);
        uwTickPrio = TickPriority;
      }
      else
      {
        status = HAL_ERROR;
      }
    }
  }

  
  return status;
}






 
void HAL_SuspendTick(void)
{
   
  ((&htim20)->Instance ->DIER &= ~((0x1UL << (0U))));
}






 
void HAL_ResumeTick(void)
{
   
  ((&htim20)->Instance ->DIER |= ((0x1UL << (0U))));
}

